0

私はEF5とLINQが初めてで、次のことに少し苦労しています。

私は熱心な負荷状況で作業しており、以下をサポートするメソッドをどのように作成するのが最善か疑問に思っています。

エンティティ A は、他の 3 つのエンティティと関係があります。

Listist を返すメソッドが必要ですが (問題ありません)、他の 3 つの関連エンティティをそれぞれ含めるかどうかを示す 3 つの引数をメソッドに持たせたいと考えています。

したがって、3つすべてが含まれる場合、これは機能します。

        var AA = from e in context.A
        .Include( "Bs" )
         .Include( "Cs" )
         .Include( "Ds" )
                    where e.......
                    select e;

メソッドのパラメーターに基づいて、インクルードが存在するかどうかを許可するように記述するにはどうすればよいですか?

4

1 に答える 1

0

3 つのパラメーター と をメソッドに渡しbool includeBsbool includeCsbool includeDsを使用します。

DbQuery<A> query = context.A;
if (includeBs)
    query = query.Include("Bs");
if (includeCs)
    query = query.Include("Cs");
if (includeDs)
    query = query.Include("Ds");

var AA = from e in query
         where e.......
         select e;

補足として: EF 5Includeでは、文字列の代わりにラムダ式をパラメーターとして受け取る、強く型付けされたバージョンの available が必要ですInclude(a => a.Bs)DbQuery<A>上記を に置き換えると、それも使用できますIQueryable<A>

于 2013-01-31T20:47:42.090 に答える