2012-02-24 45 views
1

選擇從泛型列表中的項目我有一個LINQ查詢其中包含的方法GetInstanceForDatabase()如何通過LINQ

principlesList.Select(p => p.GetInstanceForDatabase()).ToList() 

其中

List<PrincipleInstance>() principlesList = ... 
// (contains list of principle like "Manual Trades", "OPM", "Flora") 

GetInstanceForDatabase()是大約需要其他信息的方法一個原則(如手動交易)。

我的問題是,我想只梳理「手動交易」這樣的原理。

我想把where條款。我嘗試過但是失敗了。

+1

它是如何失敗的?意外的結果或拋出的異常? – Yuck 2012-02-24 16:08:54

+1

也許你應該發佈你的嘗試使用Where方法,所以我們可以看到你錯在哪裏,並糾正你。幫助我們幫助你;我們大多數人沒有時間寫出涵蓋你可能做錯的每一件可能事情的答案。 – KeithS 2012-02-24 16:09:39

回答

0
var list = p.GetInstanceForDatabase().where(x => x.propertyName == "Manual Trades").ToList(); 

我敢肯定,你GetInstanceForDatabase需要返回你的收藏,你再篩選的「工匠」,但我真的不能告訴你如何讓你從問題PrincipalInstances的名單。

0

這是使用WhereLINQ

principlesList.Select(p => p.GetInstanceForDatabase()).Where(p => p.SomeProperty == "SomeValue").ToList(); 
+0

感謝哈里斯哈桑..至少我有一個沒有錯誤的查詢,我試圖執行它 – neeraj 2012-02-24 16:15:55

2

正確的語法要獲得單個項目的使用:

query.First(x => x.property == "Manual Trades"); 
// or 
query.FirstOrDefault(x => x.property == "Manual Trades"); 
+0

以及查詢正在工作...還有一點是,這裏是完整的方法DataBaseFacade.Instance.UpdatePrinciples(ApplicationData。 Instance.ProfessionalName,RunningUser.Instance.UserData.UserName,principlesList.Select(p => p.GetInstanceForDatabase())。其中(p => p.Name ==「Manual Trades」)。ToList(),dateTime,dbSavedCallback) ;我只想看到**「principlesList.Select(p => p.GetInstanceForDatabase())。其中(p => p.Name ==」Manual Trades「)。ToList()」** in add watch .is there任何方式 – neeraj 2012-02-24 16:17:40