C# 返回查询可能存在的错误
我有一种情况,我不明白。情况很简单。我使用通用存储库来处理我的数据库。所有的工作都很好,但现在我有一个问题。我认为当我执行查询时,EF会返回一个单词数据 这是我在SQL Manager中的SQL结果:C# 返回查询可能存在的错误,c#,sql,entity-framework,C#,Sql,Entity Framework,我有一种情况,我不明白。情况很简单。我使用通用存储库来处理我的数据库。所有的工作都很好,但现在我有一个问题。我认为当我执行查询时,EF会返回一个单词数据 这是我在SQL Manager中的SQL结果: Select * from Vw_HoursMOPJustificated where IdUser = 20 and ActionDate = '2012-08-22' and Hour < 24 IdMopTime | IdJustification | IdJustificat
Select *
from Vw_HoursMOPJustificated
where IdUser = 20
and ActionDate = '2012-08-22' and Hour < 24
IdMopTime | IdJustification | IdJustificationType
44 30 8
44 40 11
44 43 13
45 31 8
45 41 12
46 32 8
这是我在C中执行这个简单代码时得到的结果
MyIGFEntities entity = new MyIGFEntities();
var table = new Repository<MyIGF.Models.Vw_HoursMOPJustificated>(new MyIGFEntities())
.Find(x => x.ActionDate == ActionDate && x.IdUser == IdUser && x.Hour < 24);
IdMopTime | IdJustification | IdJustificationType
44 | 30 | 8
44 | 30 | 8
44 | 30 | 8
45 | 31 | 8
45 | 31 | 8
46 | 32 | 8
有人能帮我吗?您必须纠正您的edmx,确保您有一个 在Vw_HoursMOPJustificated实体上,至少将IdMopTime、IdJustification和IDJusticationType的主键设置为true 要检查一切是否正确,请尝试从edmx获取数据,并查看是否有正确的不同数据
有时,主要是在db中没有真正主键的视图中,主键或使每一行不同的属性检索得不好,您会得到这种令人困惑的结果。您必须纠正edmx,确保您有一个 在Vw_HoursMOPJustificated实体上,至少将IdMopTime、IdJustification和IDJusticationType的主键设置为true 要检查一切是否正确,请尝试从edmx获取数据,并查看是否有正确的不同数据
有时,主要是对于在db中没有真正主键的视图,主键或使每一行不同的属性检索得不好,您会得到这种令人困惑的结果。EF生成的实际查询是什么?我会分析sql server,看看您的linq查询执行的是什么sql。EF生成的实际查询是什么?我会分析sql server,看看您的linq查询执行的是什么sql