0

我的表如下:

create table Entities(
    EntityId bigint not null identity(1, 1),
    Name nvarchar(64) not null,
    ParentEntityId bigint null
)
alter table Entities add constraint PK primary key (EntityId)
alter table Entities add constraint FK foreign key (ParentEntityId) references Entities(EntityId)

我的模型如下所示:

public class Entity
{
    [Required]
    public virtual long EntityId { get; set; }

    [Required]
    public virtual string Name { get; set; }

    public virtual long? ParentEntityId { get; set; }

    public virtual Entity ParentEntity { get; set; }
}

我正在尝试ParentEntity使用流利的 api 映射来映射属性,但我无法让它工作。我该怎么做?
提前致谢!

编辑:固定代码差异。

4

1 回答 1

2

这种流利的东西会为你工作:

        modelBuilder.Entity<Entity>()
            .HasOptional(e => e.ParentEntity)
            .WithMany()
            .HasForeignKey(e => e.ParentEntityId );

为我创建了这个数据库:

在此处输入图像描述

于 2012-09-27T14:54:49.267 回答