LINQ to SQL查询的结果值有误

问题描述 投票:4回答:2

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

c# entity-framework linq-to-sql entity-framework-4 linq-to-entities
2个回答
6
投票

根据评论进行更新

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

Linq-to-Sql

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

Linq到实体

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.