如何解决实体框架复合主键和外键
我正在迁移一个在 .NET Framework 4.7.2 中制作的软件。我有一个 sql Server 数据库。为了创建实体,我首先使用数据库中的代码添加了一个 ADO.net 对象。
MEG_OFERTAS_MEG_OPERACIOnes: : 中所有属性的类型 引用约束的从属角色必须与 主体角色中的相应属性类型。的类型 实体“MEG_OPERACIOnes”上的属性“DT_DIA_OPERACION”不匹配 实体“MEG_OFERTAS”上的属性“I_NRO_OFERTA”的类型 引用约束“MEG_OFERTAS_MEG_OPERACIOnes”。
我的实体如下
public partial class MEG_OFERTAS : IEntity
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2214:DoNotCalloverridableMethodsInConstructors")]
public MEG_OFERTAS()
{
MEG_OPERACIOnes = new HashSet<MEG_OPERACIOnes>();
MEG_OPERACIOnes1 = new HashSet<MEG_OPERACIOnes>();
}
[Key]
[Column(Order = 0,TypeName = "numeric")]
public decimal I_NRO_OFERTA { get; set; }
[Key]
[Column(Order = 1,TypeName = "datetime2")]
public DateTime DT_DIA_OPERACION { get; set; }
.
.
.
.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<MEG_OPERACIOnes> MEG_OPERACIOnes { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<MEG_OPERACIOnes> MEG_OPERACIOnes1 { get; set; }
}
另一个是
public partial class MEG_OPERACIOnes : IEntity
{
[Key]
[Column(Order = 0,TypeName = "numeric")]
public decimal I_NRO_OPERACION { get; set; }
[Key]
[Column(Order = 1,TypeName = "datetime2")]
public DateTime DT_DIA_OPERACION { get; set; }
[Column(TypeName = "numeric")]
public decimal I_NRO_OFERTA_COMPRA { get; set; }
[Column(TypeName = "numeric")]
public decimal I_NRO_OFERTA_VENTA { get; set; }
.
.
.
public virtual MEG_OFERTAS MEG_OFERTAS { get; set; }
public virtual MEG_OFERTAS MEG_OFERTAS1 { get; set; }
}
modelBuilder.Entity<MEG_OFERTAS>()
.HasMany(e => e.MEG_OPERACIOnes)
.Withrequired(e => e.MEG_OFERTAS)
.HasForeignKey(e => new { e.I_NRO_OFERTA_COMPRA,e.DT_DIA_OPERACION })
.WillCascadeOnDelete(false);
modelBuilder.Entity<MEG_OFERTAS>()
.HasMany(e => e.MEG_OPERACIOnes1)
.Withrequired(e => e.MEG_OFERTAS1)
.HasForeignKey(e => new { e.I_NRO_OFERTA_VENTA,e.DT_DIA_OPERACION })
.WillCascadeOnDelete(false);
The ER Diagram for one of the relationships
谁能帮我解决我的问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。