0

重複の可能性:
Linq-to-entities-Include()メソッドが読み込まれません

私はこのようなものを持っています

public class Product
{
    public int ProductId { get; set; }
    public string Name { get; set; }

    public int CategoryId { get; set; }
    [ForeignKey("CategoryId")]
    public virtual Category Category { get; set; }
}

public class Category
{
    public int CategoryId { get; set; }
    public string Name { get; set; }
}

コンテキストで私は持っています:

public DbSet<Product> Products { get; set; }

しかし、私がそれをこのように使おうとすると:

List<Product> foo = (from p in Context.Products 
                     where p.Category.Name = "something" 
                     select p).ToList();

Product first = foo.First();

Product.CategoryIdの値を設定しましたが、Category内でnullを取得しました

注:「Context.Products.Include( "Category")」を試してみましたが、機能しません。

これは機能します(カテゴリが最初にロードされます):

List<Product> foo = (from p in Context.Products 
                     where p.Category.Name = "something" 
                     select p).ToList();

Product first = foo.First();

List<Category> categories = Context.Categories.ToList();

では、毎回カテゴリをロードする必要がありますか?includeが機能しないのはなぜですか?

4

0 に答える 0