EF 6删除失败,Insert语句的选择列表包含的项目多于插入列表

时间:2014-03-20 11:15:00

标签: c# sql entity-framework

我的EF删除失败,并带有上述声明。表(Product)具有单个主键(ProductID)。运行SQL Trace会产生以下导致失败的SQL:

exec sp_executesql N'DELETE [dbo].[Product] WHERE ([ProductID] = @0)',N'@0 int',@0=620895

完整错误陈述:

  

消息121,级别15,状态1,过程t_del_Product,第8行选择   INSERT语句的列表包含的项目多于插入   名单。 SELECT值的数量必须与INSERT的数量相匹配   列。

其他类似删除工作正常。我的EDMX针对DataSource(SQL Server 2012)进行了全面更新

有什么想法吗?任何人?任何人? 谢谢!

更新:我本来应该尝试过这个,但即使是简单的我也会得到同样的错误: DELETE FROM Product其中ProductID = 620895 所以,它不是EF。

1 个答案:

答案 0 :(得分:2)

正如我的评论所述:

dbo.Product上发生删除并且产生错误时,看起来(可能)正在调用sp。只需查看表格,看看是否有定义的触发器。

如果确实在呼叫此SP的桌子上有触发器,那么这可能是您的问题,您应该考虑修复SP。