【发布时间】:2012-03-22 04:57:46
【问题描述】:
我想帮助实现如下所示的自我关系:
我有一个包含子类别列表的类类别。将如何使用 CODE FIRST 类及其映射?
【问题讨论】:
标签: .net entity-framework c#-4.0 ef-code-first
我想帮助实现如下所示的自我关系:
我有一个包含子类别列表的类类别。将如何使用 CODE FIRST 类及其映射?
【问题讨论】:
标签: .net entity-framework c#-4.0 ef-code-first
实体
public class Category : Entity
{
public int Id { get; set; }
public string Name { get; set; }
public int? ParentId { get; set; }
public virtual Category ParentCategory { get; set; }
public virtual ICollection<Category> SubCategories { get; set; }
}
还有映射
public class CategoryMap : EntityTypeConfiguration<Category>
{
public CategoryMap()
{
HasKey(category => category.Id);
Property(category => category.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
HasOptional(category => category.ParentCategory)
.WithMany(category => category.SubCategories)
.HasForeignKey(category => category.ParentId);
}
}
【讨论】:
Category 的现有表吗?
我相信您可以在 Category 类中创建一个属性。
public virtual IEnumerable<Category> Categories {get;set;}
【讨论】: