Свойство навигации по нескольким отношениям равно NF - PullRequest
0 голосов
/ 18 декабря 2018

У меня были отношения многие ко многим, и я должен повторно использовать одну из сущностей в этих отношениях, чтобы создать новую связь со многими.

Я сделал это, но случилось нечто странное, я показываю определение своего классачтобы иметь возможность объяснить проблему

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 равен нулю.

Странно то, что если 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нуль

...