【发布时间】:2023-03-17 14:48:01
【问题描述】:
我正在使用 Entity Framework 6 开发 ASP.NET 应用程序。我已经拥有数据库,并且正在使用 Code First 现有数据库方法。
我是两张表,第二张表有外键和它自己的主键。我使用了列顺序,但仍然出现以下错误。我在网上搜索过,尝试了不同的组合,但仍然出现错误。
'System.Data.Entity.ModelConfiguration.ModelValidationException' occurred in EntityFramework.dll but was not handled in user code Sys_Nav_FunctionHierarchyEntity_Sys_Nav_FunctionEntity_Source: : Multiplicity is not valid in Role 'Sys_Nav_FunctionHierarchyEntity_Sys_Nav_FunctionEntity_Source' in relationship 'Sys_Nav_FunctionHierarchyEntity_Sys_Nav_FunctionEntity'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be '*'.
A 类
[Table("Sys_Nav_Function")]
public class Sys_Nav_FunctionEntity
{
public Sys_Nav_FunctionEntity()
{ }
[Key]
public int Function_ID { get; set; }
[StringLength(250)]
[Required(ErrorMessage = "Required Title")]
[Display(Name = "Function Title")]
public string FunctionName { get; set; }
[Required(ErrorMessage = "Required Hierarchy Level")]
[Display(Name = "Hierarchy Level")]
public int Hierarchy_Level { get; set; }
public Sys_Nav_FunctionHierarchyEntity Sys_Nav_FunctionHierarchyEntity { get; set; }
public ICollection<Sys_Nav_FunctionInActionEntity> Sys_Nav_FunctionInActionEntity { get; set; }
public ICollection<Sys_Nav_FunctionInControllerEntity> Sys_Nav_FunctionInControllerEntity { get; set; }
}
B 类
[Table("Sys_Nav_FunctionHierarchy")]
public class Sys_Nav_FunctionHierarchyEntity
{
public Sys_Nav_FunctionHierarchyEntity()
{
}
[Key, Column(Order =0)]
public int Hierarchy_ID { get; set; }
[ForeignKey("Sys_Nav_FunctionEntity"), Column(Order =1)]
public int Function_ID { get; set; }
public int Parent_Function_ID { get; set; }
public Sys_Nav_FunctionEntity Sys_Nav_FunctionEntity { get; set; }
}
【问题讨论】:
标签: c# entity-framework-6 data-annotations composite-key