【发布时间】:2011-06-09 15:45:22
【问题描述】:
这是我从 Entity Framework 得到的一个奇怪的错误:“参数集合中已经存在一个名为 'p_linq_0' 的参数。参数名称在参数集合中必须是唯一的。”我没有做任何自定义参数或任何花哨的东西,只是直接的 LINQ 查询或存储过程执行,没有花哨的东西,没有什么特别的,没有 Entity SQL... 那为什么会发生这个错误呢?
谢谢。
【问题讨论】:
-
Entity Framework 生成的查询首先为每个名为
@p_linq_0、@p_linq_1等的输入参数声明变量。@有时似乎被省略了,但我不确定是什么原因这。我猜 Entity Framework 认为它正在做一些特定于其事务范围的事情,但不知何故,它的变量在多个事务中保持范围。 -
您使用的是什么数据库?例如,SQL Server、SQL Sever Compact、SQLite、MySQL 等
-
你能发布你的代码吗?
-
它是在对象上下文的 SaveChanges() 调用中抛出的,我什至没有引用 @p_linq_0...
-
我之前也遇到过同样的错误,是我手动更改实体模型添加字段时发生的,该字段已添加到数据库中。如果您尝试删除表格,然后从服务器资源管理器中将其拖回,它应该可以工作。 (请务必先备份您的文件)
标签: c# .net entity-framework entity-framework-4