如何解决首先将相同类别的子项与Entity Framework Code进行映射
| 我正在尝试使用EF Code First映射一个相当“标准”的类别模型public class Category
{
public int ID { get; set; }
public int ParentID { get; set; }
public string Name { get; set; }
public Category ParentCategory { get; set; }
public List<Category> ChildCategories { get; set; }
}
我有一些类似的东西:
modelBuilder.Entity<Category>()
.HasOptional(t => t.ParentCategory)
.WithMany()
.HasForeignKey(t => t.ParentCategoryID)
.WillCascadeOnDelete();
但这似乎并不能解决ChildCategories?
我想念什么吗?
为了避免重复的问题参数,我遵循以下步骤,但是并没有完全回答我的特定查询:
实体框架层次结构的代码优先映射
实体框架CTP5代码优先映射-同一表中的外键
解决方法
将您的实体更改为
public class Category
{
public int ID { get; set; }
public int? ParentID { get; set; }
public string Name { get; set; }
public virtual Category ParentCategory { get; set; }
public virtual IList<Category> ChildCategories { get; set; }
}
使ParentID
可以为空,并允许ChildCategories
延迟加载,使其为虚拟。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。