2

この質問がすでに表示されていたらすみません。見つけられませんでした。

私は非常に単純なオラクルテーブルを持っています(問題がある場合は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をあきらめたくありません;)

ありがとう、ミハル

4

1 に答える 1

3

そのテーブルに主キーはありますか?

それを除けば、おそらくそれはIQライブラリのバグです。他のテーブルから行を削除してみましたか?

于 2012-09-25T11:46:33.213 に答える