Die*_*iro 3 entity-framework ef-code-first
当我尝试使用Code First创建一对一关系时,我当前收到以下错误:System.Data.Edm.EdmAssociationEnd :: Multiplicity在关系'C001_Holding_Teste_C001_Holding'中的角色'C001_Holding_Teste_C001_Holding_Source'中无效.由于从属角色是指关键属性,因此从属角色的多重性的上限必须为1.我的实体定义如下:
[Table("C001_Holding", Schema = "Cad")]
public partial class C001_Holding
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int C001_Id { get; set; }
[MaxLength(16)]
public string C001_Codigo { get; set; }
[MaxLength(100)]
public string C001_Descricao { get; set; }
}
public class C001_Holding_Test
{
[Key]
public int C001_Id { get; set; }
[MaxLength(100)]
public string C001_TestInfo { get; set; }
[ForeignKey("C001_Id")]
public virtual C001_Holding C001_Holding { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我不想用Fluent创建这些关系,有谁知道为什么会这样?
韩国社交协会.
可以将ForeignKey属性放在导航属性上,然后指定要作为外键使用的属性的名称(这就是您所做的).或者,您可以将其放在外键属性上,然后指定表示关系的导航属性的名称.这看起来像:
public class C001_Holding_Test
{
[Key]
[ForeignKey("C001_Holding")]
public int C001_Id { get; set; }
[MaxLength(100)]
public string C001_TestInfo { get; set; }
public virtual C001_Holding C001_Holding { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,第二个选项在第一个选项发生错误时有效.(这对我来说感觉就像一个错误,因为两个选项应该代表相同的关系.或者实际上存在语义差异,我看不到......)
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |