У меня проблема с отображением классического дерева БД на сущность структуры сущности.
Вот моя база данных:
CREATE TABLE intranet_organization_units
(
[OrganizationUnitId] INT IDENTITY PRIMARY KEY,
[ParentOrganizationUnitId] INT NULL,
[Name] NVARCHAR(50) NOT NULL
)
сущность:
public class OrganizationUnit
{
public int OrganizationUnitId { get; set; }
public string Name { get; set; }
public int? ParentOrganizationUnitId { get; set; }
public virtual OrganizationUnit ParentOrganizationUnit { get; set; }
public virtual ICollection<OrganizationUnit> ChildrenUnits { get; set; }
}
и, наконец, отображение:
public class OrganizationUnitMapper : EntityTypeConfiguration<OrganizationUnit>
{
public OrganizationUnitMapper()
{
ToTable("intranet_organization_units");
Property(x => x.Name).HasColumnName("Name").IsRequired();
HasMany(x => x.ChildrenUnits).WithOptional().HasForeignKey(x => x.OrganizationUnitId);
HasOptional(x => x.ParentOrganizationUnit).WithMany().HasForeignKey(x => x.ParentOrganizationUnitId);
}
}
Когда я запускаю приложение, я получаю следующее исключение:
При генерации модели обнаружена одна или несколько ошибок проверки:
System.Data.Edm.EdmAssociationEnd:: Кратность недопустима в роли 'OrganizationUnit_ChildrenUnits_Target' в отношении 'OrganizationUnit_ChildrenUnits'.Поскольку зависимая роль относится к ключевым свойствам, верхняя граница кратности зависимой роли должна составлять �1�.
Так в чем же проблема?Спасибо