【问题标题】:oracle insert / delete problems in linqpadlinqpad中的oracle插入/删除问题
【发布时间】:2012-09-25 05:53:16
【问题描述】:

对不起,如果这个问题已经弹出,我还没有找到。

我有一个非常简单的 oracle 表(如果重要的话 11g express):

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) 和 4.42.01 版的 LinqPad。知道我在做什么错吗?我真的不想因为这项任务而放弃 LinqPad ;)

谢谢, 迈克尔

【问题讨论】:

    标签: c# oracle linqpad


    【解决方案1】:

    那个表有主键吗?

    简而言之,这可能是 IQ 库中的一个错误。您是否尝试过从其他表中删除行?

    【讨论】:

    • 表上没有主键,添加后插入、更新和删除按预期工作。 非常感谢! (我感到很惭愧)。
    猜你喜欢
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2017-04-25
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多