Если вы используете 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
, или что-то в этом роде, но это должно показатьточно.