2017-08-01 5 views
1

は私がfoo.Barfoo.Bar.Baz?それとも私がfoo.Include(x => x.Bar).Include(x => x.Bar.Select(y => y.Baz))を使用しなければならないのを含めるようにfoo.Include(x => x.Bar.Select(y => y.Baz)を使用することはできますか?んfoo.Include(X => x.bar.Select(Y => y.baz)C#でfoo.barが含まれていますか?

ソリューション:atlasmaybeのおかげで)

foo.Include(x => x.Bar.Select(y => y.Baz)foo.Barfoo.Bar.Bazの両方が含まれ

答えて

4

それは明らかにあなたのデータモデルに依存し、あなたのOR。 M.しかし、私はつもりだあなたはEntity Frameworkのを使用して、あなたのモデルはこの1つのように見えることをしていると仮定します。その場合は

public class Foo 
{ 
    public virtual Bar Bar { get; set; } 
} 

public class Bar 
{ 
    public virtual List<Baz> Baz { get; set; } 
} 

public class Baz 
{ 
    public string MyString { get; set; } 
} 

、その後、foo.Include(f => f.Bar.Select(b => b.Baz))BarBazが含まれます。

+0

「バー」が自動的には含まれない例を教えてください。 – poke

+0

'Baz'を望むならば、このモデルと' Include'を使って常に 'Bar'を得ます。 'Bar'を避けたいのであれば、カスタムEFクエリを構築し、Lazy Loadingを無効にする必要があります。しかし、私はそれがこの質問の初期の目的だとは思わない... – Atlasmaybe

+0

はい、私は確かにEFを使用します。私の質問に答えてくれてありがとう。 – Mason

関連する問題