C#实体框架:带有字段值的狭窄结果
我刚开始使用EF,以下是我的: dataEntity=新建ThisProject.Data.Entities() listBoxProjects.DataSource=dataEntity.projects 这会在列表框中插入所有项目,但我想缩小结果范围。我有一个名为clientID的整数变量,projects表有一个名为clientID的字段,如何缩小结果范围 谢谢尝试linq查询:C#实体框架:带有字段值的狭窄结果,c#,entity-framework,C#,Entity Framework,我刚开始使用EF,以下是我的: dataEntity=新建ThisProject.Data.Entities() listBoxProjects.DataSource=dataEntity.projects 这会在列表框中插入所有项目,但我想缩小结果范围。我有一个名为clientID的整数变量,projects表有一个名为clientID的字段,如何缩小结果范围 谢谢尝试linq查询: var query = from project in dataEntity.projects
var query = from project in dataEntity.projects
where project.clientID = TARGET_ID
select project;
listBoxProjects.DataSource = query;
虽然scmccart给了我一个几乎正确的答案,但我认为我应该将其作为一个单独的答案发布,以帮助将来关注这一问题的任何人 以下是我的结论:
dataEntity = new ThisProject.Data.Entities();
var query = from project in dataEntity.projects
where project.client.id == clientID
select project;
listBoxProjects.DataSource = query.ToList();
我的回答有两个不同之处:
1.两个==而不是一个,这引起了一点头痛。
2.根据RPM1984的建议添加了.ToList()
我对Stackoverflow还很陌生,但我希望在我发表这篇文章后,我能对scmccart的回答给予肯定。不要忘记使用
.ToList
来触发查询,否则如果你的UI正在对结果进行分页,你每次都会触发一个查询(除非你禁用了延迟加载,但这是另一个问题)。我从上面的代码中得到一个错误:“无法将lambda express转换为字符串类型”。不确定我做错了什么。请参阅下面我的回答,了解我遇到的一些小问题。