この質問がすでに表示されていたらすみません。見つけられませんでした。
私は非常に単純なオラクルテーブルを持っています(問題がある場合は11gエクスプレス):
desc exch_rate;
Name Null Typ
------------------------------ -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FROM_CURRENCY VARCHAR2(3)
TO_CURRENCY VARCHAR2(3)
EXCH_DATE DATE
EX_RATE NUMBER(4)
ID NOT NULL NUMBER
5 rows selected
このテーブルの内容を linqpad で削除しようとしているので、コードは通常、末尾にExchRates.DeleteOnSubmit(row)
とを組み合わせたものになります。SubmitChanges();
しかし、空のテーブルを取得する代わりに、エラーが発生します:
InvalidOperationException
Sequence contains no elements
at System.Linq.Enumerable.Aggregate[TSource](IEnumerable`1 source, Func`3 func)
at IQToolkit.Data.Common.BasicMapper.GetIdentityCheck(Expression root, MappingEntity entity, Expression instance)
at IQToolkit.Data.Common.BasicMapper.GetDeleteExpression(MappingEntity entity, Expression instance, LambdaExpression deleteCheck)
at IQToolkit.Data.Common.AdvancedMapper.GetDeleteExpression(MappingEntity entity, Expression instance, LambdaExpression deleteCheck)
at IQToolkit.Data.Common.QueryBinder.BindDelete(IEntityTable upd, Expression instance, LambdaExpression deleteCheck)
at IQToolkit.Data.Common.QueryBinder.VisitMethodCall(MethodCallExpression m)
at IQToolkit.ExpressionVisitor.Visit(Expression exp)
at IQToolkit.Data.Common.DbExpressionVisitor.Visit(Expression exp)
at IQToolkit.Data.Common.QueryBinder.Visit(Expression exp)
at IQToolkit.Data.Common.QueryBinder.Bind(QueryMapper mapper, Expression expression)
at IQToolkit.Data.Common.QueryMapper.Translate(Expression expression)
at IQToolkit.Data.Common.QueryTranslator.Translate(Expression expression)
at IQToolkit.Data.EntityProvider.GetExecutionPlan(Expression expression)
at IQToolkit.Data.EntityProvider.Execute(Expression expression)
at IQToolkit.Updatable.Delete[T](IUpdatable`1 collection, T instance, Expression`1 deleteCheck)
at IQToolkit.Updatable.Delete[T](IUpdatable`1 collection, T instance)
at IQToolkit.Data.EntityProvider.EntityTable`1.Delete(T instance)
at IQToolkit.Data.EntityProvider.EntityTable`1.IQToolkit.IEntityTable.Delete(Object instance)
at IQToolkit.Data.EntitySession.TrackedTable`1.SubmitChanges(TrackedItem item)
at IQToolkit.Data.EntitySession.TrackedTable`1.IQToolkit.Data.EntitySession.ITrackedTable.SubmitChanges(TrackedItem item)
at IQToolkit.Data.EntitySession.<SubmitChanges>b__0()
at IQToolkit.Data.DbEntityProvider.DoTransacted(Action action)
at IQToolkit.Data.EntitySession.SubmitChanges()
at IQDriver.IQContextBase.SubmitChanges()
私はここで無知です。IQ ドライバーの最新バージョン (2.0.6.0) と LinqPad のバージョン 4.42.01 を使用しています。私は何が間違っているのですか?タスクのためにLinqPadをあきらめたくありません;)
ありがとう、ミハル