Указанное приведение неверно, таблица LINQ to Oracle - PullRequest
1 голос
/ 19 октября 2011

Столбец Oracle: user_id int не нуль,

Запрос Linq:

UserId = user.Field<int>("user_id"),

UserId имеет тип int.Другие строки, поля char, отлично работают, только когда я использую это поле, я получаю эту ошибку.

Что такое правильное сопоставление или что-то другое я делаю неправильно?

1 Ответ

2 голосов
/ 19 октября 2011

Если вы используете Field<T>(), то это предполагает, что вы используете DataTable, и в этот момент тип базы данных в основном не имеет значения.Исключение должно показывать, как произошел сбой приведения - каков тип фактический .Если этого не произойдет, вы можете легко поставить некоторую диагностику:

object o = user["user_id"];
if (o == null)
{
    Console.WriteLine("user_id is null");
}
else
{
    Console.WriteLine("Actual type of user_id: {0}", o.GetType());
}

Я подозреваю, что вы обнаружите, что это long или short, или что-то в этом роде, но это должно показатьточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...