2012-02-24 9 views
1

によりジェネリックリストから項目を選択するために、私は方法GetInstanceForDatabaseを(含まれているLINQクエリを持っている)どのようにLINQ

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

GetInstanceForDatabase()約他のすべての情報を取る方法である

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

原則(手動取引など)。

私の問題は、「手動取引」のような原則だけを整理したいということです。

where句を入れたいと思います。私は試しましたが、失敗です。

+1

はどのようにそれが失敗していますか?意図しない結果や例外がスローされますか? – Yuck

+1

Whereメソッドを使用しようとすると、間違った場所を確認して修正することができます。私たちのお手伝いをしてください。私たちのほとんどはあなたが間違っている可能性のあるすべてのことをカバーする答えを書く時間がありません。 – KeithS

答えて

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

私はあなたがGetInstanceForDatabaseは、あなたがして「マニュアル取引」のフィルタが、私は本当にあなたが質問からPrincipalInstancesのリストを取得する方法言うことができないあなたのコレクションを返す必要があります確信しています。

0

これは単一アイテムの使用を取得するにはLINQ

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

Haris Hasanさん、ありがとうございました..少なくとも私はエラーがないクエリを持っています。実装しようとしています。 – neeraj

2

Whereを使用しての正しい構文は次のとおりです。

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

ウェルクエリが動作しています...もう一つのポイントは、完全なメソッドDataBaseFacade.Instance.UpdatePrinciples(ApplicationData。 (p => p.Name == "Manual Trades")。ToList()、dateTime、dbSavedCallback)を使用して、インスタンス名を指定してください(例:p.GetInstanceForDatabase() ;私はちょうど** "principlesList.Select(p => p.GetInstanceForDatabase())を見たいと思っています(p => p.Name ==" Manual Trades ")。いかなる方法 – neeraj

関連する問題