-2

私はクラスを持っています:

public class BigClass
{
    public int Id { get; set; }
    public string Name { get; set; }
    ...
    public List<LittleClass> LittleClassList { get; set; }
}

データベースへの 1 回のリクエストでインスタンスのリストを返すことは可能ですか? このアプローチは、DataBase への多くのリクエストを呼び出します。

List<BigClass> data = context.Table1_Name ...

foreach(var item in data)
{
    item.LittleClassList = context.Table2_Name ...
}

ラムダ構文が推奨されます。ありがとうございました。

4

2 に答える 2

1
from big in context.TableA
from little in big.LittleClassList
select little;

そして拡張形式で

Context.TableA.Where(...).SelectMany(x=>x.LittleClassList);
于 2013-02-21T05:52:23.757 に答える
-1
   List<LittleClass> littleClassesOfListBigClasses = new List<LittleClass>();

   context.BigClass.ToList().ForEach(e=>littleClassesOfListBigClasses.AddRange(e.LittleClassList));

に特化Dave A

OPが望んでいること:彼はLittleClass、dbに保存されているすべてのesを1つのラムダ式で取得したいと考えています。

私のコードがどのように機能するかについての説明:

1)EF(エンティティフレームワーク)を使用しています。それが何であるかわからない場合は、 ここで情報を読むことができます。質問では、OP が EF とは何かとその使用方法を知っているので、説明する必要はありませんでした。2) DB のテーブルBigClassからすべてのデータを取得し、List (1 つのクエリで) として取得します。3) ForEach (Linq から) を使用して、返されたBigClassリストを調べ、すべてのLittleClasses をlittleClassesOfListBigClasses

Where前に追加して、テーブルToListに格納されているすべてのデータではBigClassなく一部のみを取得することもできます。次のようになります。

context.BigClass.Where(some lambda-expression).ToList()

だから私の答えは今明確ですか?

于 2013-02-15T10:12:56.933 に答える