【发布时间】:2011-08-30 08:19:34
【问题描述】:
我在将经典数据库树映射到实体框架实体时遇到问题。
这是我的数据库:
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。
那么问题出在哪里?谢谢
【问题讨论】:
标签: asp.net entity-framework mapping entity-framework-4.1