我在使用EF 4.1代码第一种方法与Sql compact 4时收到此错误消息。我没有看到任何具有多列id列的模型,所以我不知道为什么会出现此错误。什么可能导致此错误?
编辑:我想说明一些额外的事情。数据库创建是成功的,但模型创建不是。并且已经从sqlce方法抛出了异常。
答案 0 :(得分:5)
此问题源于SQL查询,该查询返回两个或多个具有相同名称的列。 SQL会在没有问题的情况下处理列上的精确重复名称,但c#会像这样一起解决错误。
示例情况:
TableA
int Id
varchar Name
TableB
int Id
int A_Id
varchar Name
SELECT A.*,
B.Name
FROM TableA A
INNER JOIN TableB
ON B.A_Id = A.Id
Id和Name列将重复并导致EF
的异常答案 1 :(得分:1)
当迁移代码未更新到目前为止,也可能导致这种情况。这通常发生在执行Add-Mirgration多次时。改为运行以下命令:
Add-Migration <migration-name> -force