把你的Book实体的CategoryId属性删掉
给Category属性添加Column特性,里面设置数据库列名称
Category的构造函数不需要给Books赋值
创建实体请调用DbSet的Create方法
推荐所有属性都用virtual
virtual不是延迟加载用到的吗,其他属性加上这个关键字有什么好处吗?
@NoSaleNoKilling: 属性修改跟踪
@Kation: 明白了,谢谢!
你这是模型,可是在数据库直接生成表的,可以是1对多,可以多对多,看你自己怎么设计模型,也可以用数据库的表生成模型
不是,我想通过下面的实体来构建这样的关系,通过fluent API
public class Book { public int BookId { get; set; } public string Name { get; set; } public int CategoryId { get; set; } public virtual Category Category { get; set; } } public class Category { public int CategoryId { get; set; } public string Name { get; set; } public virtual ICollection<Book> Books { get; set; } public Category() { Books = new HashSet<Book>(); } }
@NoSaleNoKilling: 可以设置外键属性[ForeignKey("CategoryId")]
@稳稳的河: 而且更新的时候要把之前的数据库自动删掉重新创建
@稳稳的河: 谢谢,