Entity Framework 模型优先自引用
Entity Framework Model First Self referencing
我看过一堆代码优先的例子,但不是模型优先。
我想创建一个父子关系,其中 ParentId 可以为 null,如果一个类别真的是一个子类别,它就会有一个 ParentId。
当我通过设计器执行此操作时,它最终生成了这个...这看起来与我试图创建的相反:
public partial class Category : NWatchObjectBase
{
public Category()
{
this.Tags = new HashSet<Tag>();
this.Parent = new HashSet<Category>();
}
public int Handle { get; set; }
public string Name { get; set; }
public Nullable<long> ParentId { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual CasModelClass ModelClass { get; set; }
public virtual ICollection<Category> Parent { get; set; }
public virtual Category Child { get; set; }
}
我想你需要这样的东西。 EF 应该优雅地处理这个问题。
public partial class Category : NWatchObjectBase
{
public Category()
{
this.Tags = new HashSet<Tag>();
this.Children = new HashSet<Category>();
}
public int Handle { get; set; }
public string Name { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual CasModelClass ModelClass { get; set; }
public virtual ICollection<Category> Children { get; set; }
public virtual Category Parent { get; set; }
}
我看过一堆代码优先的例子,但不是模型优先。
我想创建一个父子关系,其中 ParentId 可以为 null,如果一个类别真的是一个子类别,它就会有一个 ParentId。
当我通过设计器执行此操作时,它最终生成了这个...这看起来与我试图创建的相反:
public partial class Category : NWatchObjectBase
{
public Category()
{
this.Tags = new HashSet<Tag>();
this.Parent = new HashSet<Category>();
}
public int Handle { get; set; }
public string Name { get; set; }
public Nullable<long> ParentId { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual CasModelClass ModelClass { get; set; }
public virtual ICollection<Category> Parent { get; set; }
public virtual Category Child { get; set; }
}
我想你需要这样的东西。 EF 应该优雅地处理这个问题。
public partial class Category : NWatchObjectBase
{
public Category()
{
this.Tags = new HashSet<Tag>();
this.Children = new HashSet<Category>();
}
public int Handle { get; set; }
public string Name { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual CasModelClass ModelClass { get; set; }
public virtual ICollection<Category> Children { get; set; }
public virtual Category Parent { get; set; }
}