我的LINQ查询结果不正确,但是当我分析生成的SQL时,SQL结果是正确的。
ApplicationsEntities context = new ApplicationsEntities();
var query = from documentation in context.Documnetations
where documentation.Application_Version_ID == app_ver_id
orderby documentation.Name
select documentation;
docs = query.ToList<Documnetation>();
我得到两个重复:“如何安装Office 2003”和“如何安装Office 2003”
以下是配置文件SQL的输出:
从生成的SQL中分配结果会发生什么?
答案 0 :(得分:6)
根据评论进行更新
您的linq查询很好,但在您的模型中,您必须设置主键/实体键
<强> LINQ到-SQL 强>
在dbml
中,您需要将主键从Application_Version_ID
更改为Documentation_Id
<强> LINQ到实体强>
在model
中,您需要将实体密钥从Application_Version_ID
更改为Documentation_Id
答案 1 :(得分:0)
这种情况发生是当一个或多个表的结构发生了更改时。
删除您的表,并在 EDM 中重新生成。 (实体数据模型)
右键单击Update Model from Database...
,Add...