2

public virtual ICollection<Product> Products { get; set; }POCO クラスの の目的は何ですか?

public class Category
    {
        [ScaffoldColumn(false)]
        public int CategoryID { get; set; }

        [Required, StringLength(100), Display(Name = "Name")]
        public string CategoryName { get; set; }

        public virtual ICollection<Product> Products { get; set; }


    }
4

1 に答える 1

5

Products関連するものはCategory、プロパティが最初にアクセスされたときにEntityFrameworkによって遅延ロードされます。

関連するエンティティを読み込む方法については、関連するエンティティの読み込みで詳しく説明しています。

遅延読み込みは、エンティティを参照するプロパティに初めてアクセスしたときに、エンティティまたはエンティティのコレクションがデータベースから自動的に読み込まれるプロセスです。POCOエンティティタイプを使用する場合、遅延読み込みは、派生プロキシタイプのインスタンスを作成し、仮想プロパティをオーバーライドして読み込みフックを追加することで実現されます。

そのため、Entity Frameworkは、クラスからプロキシクラスを派生させ、プロパティCategoryのゲッターをオーバーライドして、Productsプロパティに最初にアクセスしたときに関連する製品をロードします。

于 2013-02-19T03:40:39.247 に答える