Oracle列:user_id的詮釋不爲空,指定的轉換是無效的錯誤,LINQ到Oracle表
Linq查詢:
UserId = user.Field<int>("user_id"),
用戶ID爲int類型。其他字符串,字符字段工作正常,只有當我使用thsi字段時,我得到這個錯誤。
什麼是正確的映射或anythign我做錯了?
Oracle列:user_id的詮釋不爲空,指定的轉換是無效的錯誤,LINQ到Oracle表
Linq查詢:
UserId = user.Field<int>("user_id"),
用戶ID爲int類型。其他字符串,字符字段工作正常,只有當我使用thsi字段時,我得到這個錯誤。
什麼是正確的映射或anythign我做錯了?
如果您使用的是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
,或者類似的東西 - 但這應該給你肯定的。
呵呵。檢查它,它是十進制的。懷疑這樣的事情。感謝您的回答。奇怪的是,int DB列映射到dataTable中的十進制數。 –
@MunishGoyal:什麼*確切*是Oracle中的類型,你的SQL是什麼樣的? –
create table temp_user(user_id int not null,...)它是int類型 –
你得到了什麼錯誤? – i100