LINQ to SQL查询的结果值有误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ to SQL查询的结果值有误相关的知识,希望对你有一定的参考价值。

我有一个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分配结果可能会发生什么?

答案

根据评论进行更新

您的linq查询很好,但是在您的模型中,您必须设置主键/实体键

Linq-to-Sql

dbml中,您需要将主键从Application_Version_ID更改为Documentation_Id

Linq到实体

model中,您需要将实体密钥从Application_Version_ID更改为Documentation_Id

另一答案

此情况当一个或多个结构具有已更改时。

Delete您的tablesregenerate在您的EDM中。 (实体数据模型)

右键单击,Update Model from Database...Add...

以上是关于LINQ to SQL查询的结果值有误的主要内容,如果未能解决你的问题,请参考以下文章

识别 linq to sql 查询的来源

LINQ to SQL 将查询结果存储在变量中

LINQ to SQL Where 子句可选条件

具有多个包含的Linq-to-Sql

在 Linq to SQL 查询中设置非列属性值

针对 LINQ To SQL 查询中的位字段评估布尔值