0

LINQDAL からクエリを実行しILIST、次のようなオブジェクトが埋め込まれたレコードのコレクションを取得しました。

string name
date   startDate
date  endDate
ILIST<MyType> ImbeddedList (this contains more columns like recordID, sentDate, dueDate)

LIST<T>バインドするには、グリッドに戻る必要があります。

コレクション オブジェクトLINQを除外するステートメントの記述に問題があります。IQueryable

以下の私の声明では:

IQueryable<All_DATA> cases = dalObject.GetData();
var mylist = cases.Select(s => {s.name, s.startDate, s.endDate,s.ImbeddedList????}).ToList();

dalObject から返された ImbeddedList に到達すると、Intelsense は ImbeddedList のフィールドを表示しません。LINQImbeddedList オブジェクトでより多くのフィールドをフィルター処理するステートメントを正しく記述するにはどうすればよいですか?

4

1 に答える 1

1

私が理解している限り、あなたができることは

から完全なリストを取得するためImbeddedList

var mylist = cases.Select(s => {s.name, s.startDate, s.endDate, s.ImbeddedList}).ToList();

そして、個々のフィールドを取得するためにImbeddedList

var mylist = cases.SelectMany(s => s.ImbeddedList)
                  .Select(IItem => { IItem.Field1, IItem.Field2 }).ToList();

詳細については、以下を参照してください。

  1. Linq SelectMany 演算子
  2. LINQ - リスト内のリスト内のすべてのアイテムを取得しますか?
  3. LINQ を使用して、オブジェクトの別のリスト内のオブジェクトのリストを選択します
  4. Google 検索を使用する: "linq select list within list"
于 2012-11-27T21:04:01.340 に答える