2011-08-16 9 views
2

私はlinqクエリの問題があります。 マイモデル;Linqの多くの関係でデータを選択

public class Product : Entity 
{ 
    public virtual Brand Brand { get; set; } 
    public virtual ICollection<Category> Categories { get; set; } 
    //etc... 

    public virtual ICollection<ProductProductShowcase> ProductProductShowcases { get; set;}  
} 

public class ProductShowcase : ContextContainer<ProductShowcaseContext> 
{ 
    public virtual ICollection<ProductProductShowcase> ProductProductShowcases { get; set; } 
} 

public class ProductProductShowcase : Entity 
{ 
    public int ProductShowcaseId { get; set; } 

    public int ProductId { get; set; } 

    public virtual ProductShowcase ProductShowcase { get; set; } 

    public virtual Product Product { get; set; } 
} 

私は、関連製品ProductShowcaseエンティティを選択します。私は試した;クエリ結果productShowcase.ProductProductShowcases

ProductShowcase productShowcase = RepositoryHelper.DataContext.ProductShowcases.Include(i => i.Contexts).Include(o => o.ProductProductShowcases).Where(o => o.Id == Id).SingleOrDefault(); 

は期待値とProductId特性が、ヌルとしてProduct特性を有します。

ありがとうございます。

答えて

1

あなたのProductプロパティは仮想としてマークされているため、遅延読み込みが使用されます。 Include(o => o.Product)(既にProductProductShowcasesプロパティにインクルードを使用しています)

+1

はい、問題はProductShowcase.ProductProductShowcasesコレクションではnullです。だから私はProductProductShwcase.Productを含める必要がありますが、私はそれを理解できませんでした。 – berdem

+1

この場合の回答はありませんか?奇妙な - .- – berdem

関連する問題