2010-11-15 59 views
0

我只是用EF启动,继承人我有什么:C#实体框架:狭窄的结果与一个字段值

dataEntity =新ThisProject.Data.Entities();

listBoxProjects.DataSource = dataEntity.projects;

这确实插入列表框中的所有项目,但我想缩小结果。我有一个名为clientID的整型变量,而且项目表有一个名为clientid的字段,我怎样才能缩小结果?

谢谢

回答

2

尝试LINQ查询:

var query = from project in dataEntity.projects 
      where project.clientID = TARGET_ID 
      select project; 

listBoxProjects.DataSource = query; 
+0

不要忘记'.ToList'来触发查询,否则如果你的UI是通过结果分页的话,每次都会触发一个查询(除非你禁用了延迟加载,但这是另一个问题)。 – RPM1984 2010-11-15 03:49:27

+0

我收到错误:“无法转换lambda表达式为字符串类型”上面的代码中的单词'where'。不知道我做错了什么。 – 2010-11-15 04:01:36

+0

看到我的回答如下,我遇到了一些小事情。 – 2010-11-15 04:39:03

0

虽然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.添加.ToList()每RPM1984的建议。

我很新的Stackoverflow,但我希望它可以让我给scmccart信贷的答案后,我做这个职位。