Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#实体框架:带有字段值的狭窄结果_C#_Entity Framework - Fatal编程技术网

C#实体框架:带有字段值的狭窄结果

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

我刚开始使用EF,以下是我的:

dataEntity=新建ThisProject.Data.Entities()

listBoxProjects.DataSource=dataEntity.projects

这会在列表框中插入所有项目,但我想缩小结果范围。我有一个名为clientID的整数变量,projects表有一个名为clientID的字段,如何缩小结果范围

谢谢

尝试linq查询:

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转换为字符串类型”。不确定我做错了什么。请参阅下面我的回答,了解我遇到的一些小问题。