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

第一次访问该属性时,Entity Framework 将延迟加载Products相关的内容。Category

加载相关实体中更详细地解释了如何加载相关实体

延迟加载是在第一次访问引用实体或实体的属性时自动从数据库加载实体或实体集合的过程。使用 POCO 实体类型时,延迟加载是通过创建派生代理类型的实例,然后覆盖虚拟属性以添加加载钩子来实现的。

所以Entity Framework会从该类中派生出一个代理类,Category并覆盖该属性的getter,Products以在第一次访问该属性时加载相关产品。

于 2013-02-19T03:40:39.247 回答