に対して大きすぎたり小さすぎのいずれかでした).toList();オラクルEntityFramework原因OverflowExceptionが付きます。値は、私は、単純なLINQの式</p> <p>VARリスト= db.MyEntity.Where(X => x.fields == 'stringdata' を持つInt16型
実行時には、この式は、例外をスロー:
[OverflowException: Value was either too large or too small for an Int16.]
System.Convert.ToInt16(Int32 value) +6765512
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +14182618
Oracle.ManagedDataAccess.Client.OracleDataReader.ChangeType(Object sourceValue, Type targetType) +810
Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i) +4640
System.Data.Entity.Core.Common.Internal.Materialization.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal) +229
lambda_method(Closure , Shaper) +3648
System.Data.Entity.Core.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly(Func`2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet) +244
lambda_method(Closure , Shaper) +438
System.Data.Entity.Core.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper) +383
私EntityFrameworkは、Oracle表に結合しています。列がInt16より大きいデータを持っていると思われます。
- なぜEntityFrameworkで正しいタイプが設定されていないか、 の精度が設定されていますか?
- ここで私はこれを修正できますか?edmxを手動で編集しますか?
- 私が修正した場合、次回に私のedmxスキーマを 更新するときに手動でデザインによって上書きされますか?
は、一般的にこの手段データソースとバインドしようとしているC#クラスのデータ型が競合しています。私。 C#クラスにはintがありますが、対応する列はintではありません。 ----あなたがFineOne()やFirst()を試してみましたが、それは単なるデータではなく、すべての行が間違っているかどうかを確認しましたか? – mmcrae
@mmcraeいいです!私はそれを試みます。そして今...私は匿名のタイプnew {field、field、field ....}を返すことを考えています。おそらく、エラーを引き起こすフィールドを分離することができます – JudgeProphet