关系约束中“从属角色”和“主体角色”中的属性数必须相同
本文关键字:角色 属性 约束 从属角色 主体 关系 主体角色 | 更新日期: 2023-09-27 18:23:59
尝试在EF中添加迁移时遇到问题。错误为
RegisterCountLog_Register_Target_RegisterCountLog_Register_Source::关系约束中从属角色和主体角色中的属性数必须相同。
类别如下:
public class RegisterCountLog
{
[ForeignKey("CountLog")]
public long DeviceSerial { get; set; }
[Key, Column(Order = 2)]
[ForeignKey("CountLog")]
public long LogEntryID { get; set; }
[Key, Column(Order = 3)]
[ForeignKey("Register")]
public long RegisterId { get; set; }
public long Value { get; set; }
public virtual CountLog CountLog { get; set; }
public virtual Register Register { get; set; }
}
public class Register
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key, Column(Order = 1)]
public long RegisterId { get; set; }
[Key, ForeignKey("Device"), Column(Order = 2)]
public long DeviceSerial { get; set; }
[StringLength(50)]
public string RegisterName { get; set; }
public ContributionType Contribution { get; set; }
public virtual Device Device { get; set; }
public virtual ICollection<RegisterCountLog> CountLogs { get; set; }
}
有人能帮忙吗?
因此,寄存器模型有一个复合密钥RegisterId
和DeviceSerial
,您必须在RegisterCountLog
模型中指定这两个密钥。
[ForeignKey("RegisterId,DeviceSerial")]
public virtual Register Register { get; set; }