Oracleの列に無効なエラー、次のとおりです。USER_IDがnullでないint型、指定されたキャストは、LINQ Oracleテーブル
LINQクエリ:
UserId = user.Field<int>("user_id"),
ユーザーIDがint型です。他の文字列、charフィールドはうまく動作しますが、私がthsiフィールドを使用した場合にのみ、このエラーが発生します。
私が間違っている正しいマッピングまたはanythignは何ですか?
Oracleの列に無効なエラー、次のとおりです。USER_IDがnullでないint型、指定されたキャストは、LINQ Oracleテーブル
LINQクエリ:
UserId = user.Field<int>("user_id"),
ユーザーIDがint型です。他の文字列、charフィールドはうまく動作しますが、私が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の10進数にマップします。 –
@MunishGoyal:Oracleのタイプは* *正確に*で、SQLの外観はどうですか? –
create table temp_user(user_id int not null、...)int型です –
どのようなエラーがありましたか? – i100