Linq 删除多个列时出现问题

Linq 删除多个列时出现问题,linq,activerecord,subsonic,subsonic3,Linq,Activerecord,Subsonic,Subsonic3,删除此项工作时: orderitems.Delete(x => x.orderitem_sessionid == transkey); 然而,这不起作用 orderitem.Delete(x => x.orderitem_sessionid == transkey && x.orderitem_productid == 6); 我没有收到任何错误,但也没有删除任何内容,我有工作代码作为 var DeleteableI

删除此项工作时:

orderitems.Delete(x => x.orderitem_sessionid == transkey);
然而,这不起作用

orderitem.Delete(x => x.orderitem_sessionid == transkey 
                       && x.orderitem_productid == 6);
我没有收到任何错误,但也没有删除任何内容,我有工作代码作为

var DeleteableItems = orderitems.All().where(x => x.orderitem_sessionid == transkey 
                                             && x.orderitem_productid = 6);

foreach(var item in DeleteableItems) item.delete;
尽管上述方法有效,但仍然让我感到不安的是,使用亚音速3.0.0.3和mysql数据库的普通删除方法不起作用

谢谢

您是否尝试过:

orderitem.Delete(x => x.orderitem_sessionid == transkey 
                      && x.orderitem_productid == 6);
版本中的最后一个运算符是assignment not Comparison。

我的回答涉及一个拼写错误,但是下面关于获取生成的SQL的注释可能会很有用

善良


Dan

是的,很抱歉,extra=的错误是一个错误,当写帖子时另一个开发人员在他的机器上有问题,我给了他解决方案,因为我不明白为什么它不会删除,加上时间是你知道的关键。是否有某种方法可以输出发送的sql,因此我检查它是如何翻译的,然后从那里获取它。。。。thanksIf SQL Server是后端,从Management Studio的“工具”菜单中打开SQL Profiler并设置一个新跟踪。配置所需的位,并检查在数据库中触发的查询。我发现编写一个可以设置调试点的单元测试非常有用。清除日志,然后进行单元测试。您的SQL位于顶部。