我有多对多关系,并且我必须重用此关系中的一个实体来创建新的一对多关系。
我做到了,但是发生了一些奇怪的事情,我展示了我的班级定义以便能够解释问题
public partial class Transformador
{
[Key]
public string UniqueCode { get; set; }
public virtual ICollection<Refrigeracion_x_Trafo> Refrigeracion { get; set; }
public virtual ICollection<Datos_Garantizados> Datos_Garantizados { get; set; }
//more stuff
}
public partial class Modos_Refrigeracion
{
[Key]
public int Id { get; set; }
public virtual ICollection<Refrigeracion_x_Trafo> Refrigeracion_x_Trafo { get; set; }
public virtual ICollection<Datos_Garantizados> DatosGarantizados { get; set; }
}
public partial class Refrigeracion_x_Trafo
{
[Key]
[Column(Order = 0)]
public string UniqueCode { get; set; }
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id_refrigeracion { get; set; }
}
public partial class Datos_Garantizados
{
[Key]
[Column(Order = 0 )]
public string UniqueCode { get; set; }
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Version { get; set; }
[ForeignKey(nameof(IdRefrigeracion))]
public Modos_Refrigeracion TipoDeRefrigeracion { get; set; }
public int? IdRefrigeracion { get; set; }
}
问题是,当我得到Transformador
和Datos_Garantizados
中的一个ICollection
时,Modos_Refrigeracion
对象为null。
这里很奇怪的是,如果IdRefrigeration
(在Datos_Garantizados
之内)与表Refrigeracion_X_Trafo
中的记录之一匹配,它将正常工作!
关系应该是这样的:
1
Transformador
有许多Modos_Refrigeracion
和许多Datos_Garantizados
许多Modos_Refrigeracion
有许多Transformador
和许多Datos_Garantizados
1个Datos_Garantizados具有1
Transformador
和1个Modos_Refrigeracion
我该如何解决?
谢谢!
编辑 IdRefrigeracion
属性始终具有正确的值,问题在于Modos_Refrigeracion
对象为空