1

私が達成しようとしているのは、複数のテーブルからの文字列のリストです。私は現在、2 つの子テーブルを持つ ParentTable を持つ単純なデータベース構造を持っています (Child1 と Child2 としましょう)。Child1 と Child2 の両方に、Name という名前の nvarchar(50) 型の列があります。現在、複数のクエリを実行して、文字列の単一のリストを取得できます。

var myList = new List<string>();
myList.AddRange(Child1.Select(c1 => c1.Name));
myList.AddRange(Child2.Select(c2 => c2.Name));

また

var myList = new List<string>();
myList.AddRange(ParentTable.SelectMany(x => x.Child1.Select (c1 => c1.Name)));
myList.AddRange(ParentTable.SelectMany(x => x.Child2.Select (c2 => c2.Name)));

私の究極の質問は、親テーブルを使用することを意味する場合でも、1 つのクエリに統合できるかどうかです。

4

2 に答える 2

3

Concat演算子を使用するだけです:

var results = Child1.Select(c1 => c1.Name)
              .Concat(Child2.Select(c2 => c2.Name)).ToList();
于 2012-12-10T19:35:10.213 に答える
0

演算子を使用するUnionと、重複が削除されます。

var q = Child1.Select(c1 => c1.Name).Union(Child2.Select(c2 => c.Name)).ToList();
于 2012-12-10T19:44:48.890 に答える