2010-11-15 63 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信貸的答案後,我做這個職位。