实体框架获取null导航属性

时间:2018-05-21 18:55:32

标签: c# sql-server entity-framework

我在这里是因为我在实体框架方面遇到了一些问题,几天前我在数据库中进行了一些修改(代码优先)

现在我遇到了问题,导航属性空了,我找不到问题了!

我有这个课程

Transformador

    [Table("Transformador")]
public partial class Transformador
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Transformador()
    {
        Accesorio_x_Trafos = new HashSet<Accesorio_x_Trafos>();
        Datos_Garantizados = new HashSet<Datos_Garantizados>();
        Refrigeracion_x_Trafo = new HashSet<Refrigeracion_x_Trafo>();
    }

    [Key]
    [StringLength(50)]
    public string Codigo_delfos { get; set; }

    public int? revision { get; set; }

    [Column(TypeName = "text")]
    public string motivo_revision { get; set; }

    [StringLength(50)]
    public string Cliente { get; set; }

    [StringLength(10)]
    public string Nota_de_venta { get; set; }

    [Column(TypeName = "date")]
    public DateTime? Fecha_diseño { get; set; }

    [Column(TypeName = "text")]
    public string Observaciones { get; set; }

    [StringLength(30)]
    public string Norma { get; set; }

    public decimal? Potencia_Primaria { get; set; }

    public decimal? Potencia_Secundaria { get; set; }

    public decimal? Potencia_Terciaria { get; set; }

    public decimal? Tension_nominal_primaria { get; set; }

    public decimal? Tension_nominal_secundaria { get; set; }

    public decimal? Tension_nominal_terciaria { get; set; }

    public decimal? Tension_alternativa_primaria { get; set; }

    public decimal? Tension_alternativa_secundaria { get; set; }

    public decimal? Tension_alternativa_terciaria { get; set; }

    [StringLength(50)]
    public string Mat_arrollamiento_primario { get; set; }

    [StringLength(50)]
    public string Mat_arrollamiento_secundario { get; set; }

    [StringLength(50)]
    public string Mat_arrollamiento_terciario { get; set; }

    [StringLength(50)]
    public string GrupoConexion { get; set; }

    public decimal? Reg_primaria_tension { get; set; }

    public int? Reg_primaria_puntos { get; set; }

    public int? Reg_primaria_puntos_negativos { get; set; }

    public decimal? Reg_primaria_porcentaje { get; set; }

    public decimal? Reg_primaria_porcentaje_negativo { get; set; }

    public decimal? Reg_secundaria_tension { get; set; }

    public int? Reg_secundaria_puntos { get; set; }

    public int? Reg_secundaria_puntos_negativos { get; set; }

    public decimal? Reg_secundaria_porcentaje { get; set; }

    public decimal? Reg_secundaria_porcentaje_negativos { get; set; }

    public decimal? Reg_terciaria_tension { get; set; }

    public int? Reg_terciaria_puntos { get; set; }

    public int? Reg_terciaria_puntos_negativos { get; set; }

    public decimal? Reg_terciaria_porcentaje { get; set; }

    public decimal? Reg_terciaria_porcentaje_negativos { get; set; }

    public string Reg_Especial { get; set; }

    public int? Frecuencia { get; set; }

    [StringLength(50)]
    public string Frecuencia_Variable { get; set; }

    public decimal? Perdidas_Vacio { get; set; }

    public decimal? Corriente_Vacio { get; set; }

    public decimal? Perdidas_Cortocircuito_P_S { get; set; }

    public decimal? Perdidas_Cortocircuito_P_T { get; set; }

    public decimal? Perdidas_Cortocircuito_S_T { get; set; }

    public decimal? Ref_Perdidas_Cortocircuito_Primario_Secundario { get; set; }

    public decimal? Ref_Perdidas_Cortocircuito_Primario_Terciario { get; set; }

    public decimal? Ref_Perdidas_Cortocircuito_Secundario_Terciario { get; set; }

    public decimal? Tension_Cortocircuito_P_S { get; set; }

    public decimal? Tension_Cortocircuito_P_T { get; set; }

    public decimal? Tension_Cortocircuito_S_T { get; set; }

    public decimal? Ref_Tens_Cortocircuito_P_S { get; set; }

    public decimal? Ref_Tens_Cortocircuito_P_T { get; set; }

    public decimal? Ref_Tens_Cortocircuito_S_T { get; set; }

    public decimal? Bil_Primario { get; set; }

    public decimal? Bil_Secundario { get; set; }

    public decimal? Bil_Terciario { get; set; }

    public decimal? Aplicada_Primaria { get; set; }

    public decimal? Aplicada_Secundaria { get; set; }

    public decimal? Aplicada_Terciaria { get; set; }

    public decimal? Resistencia_Primaria_75 { get; set; }

    public decimal? Resistencia_Secundaria_75 { get; set; }

    public decimal? Resistencia_Terciaria_75 { get; set; }

    public decimal? Alto_Total { get; set; }

    public decimal? Largo_Total { get; set; }

    public decimal? Ancho_Total { get; set; }

    public decimal? Alto_Cuba { get; set; }

    public decimal? Largo_Cuba { get; set; }

    public decimal? Ancho_Cuba { get; set; }

    public decimal? Trocha { get; set; }

    public decimal? Cant_Aceite { get; set; }

    public decimal? Peso_Decubaje { get; set; }

    public decimal? Peso_Cuba { get; set; }

    public decimal? Peso_Total { get; set; }

    [StringLength(50)]
    public string Ruedas { get; set; }

    public bool? Ruedas_Aisladas { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Accesorio_x_Trafos> Accesorio_x_Trafos { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Datos_Garantizados> Datos_Garantizados { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Refrigeracion_x_Trafo> Refrigeracion_x_Trafo { get; set; }


    public int id_subtipoTrafo { get; set; }
    [ForeignKey("id_subtipoTrafo")]
    public virtual Subtipo_Transformador subtipo_transformador { get; set; }

    public int id_tipotransformador { get; set; }
    [ForeignKey(nameof(id_tipotransformador))]
    public virtual Tipo_Transformador tipo_transformador { get; set; }


}

Subtipo_Transformador

    [Table("Subtipo_Transformador")]
public partial class Subtipo_Transformador
{
    /*/[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Subtipo_Transformador()
    {
        this.isDeleted = false;

    }*/

    public int ID { get; set; }

    [StringLength(50,ErrorMessage = "El tipo de transformador puede tener como máximo 50 caracteres.")]
    [Required(ErrorMessage = "Porfavor, ingrese el tipo de transformador.")]
    public string Descripcion { get; set; }


    public bool isDeleted { get; set; }

    public int TipoTrafoId { get; set; }

    [ForeignKey("TipoTrafoId")]
    public virtual Tipo_Transformador Tipo_transformador { get; set; }

    public List<string> codigo_delfos{ get; set; }
    [ForeignKey("codigo_delfos")]
    public virtual ICollection<Transformador> Transformador { get; set; }

}

Tipo_Transformador

   public class Tipo_Transformador
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [StringLength(20)]
    public string Tipo { get; set; }

    public virtual ICollection<Subtipo_Transformador> Subtipos { get; set; }

    public virtual ICollection<Transformador> Transformador { get; set; }

}

Subtipo_TransformadorTipo_Transformador在两者之间正常工作,他们获取导航属性的方式,即使Tipo_Transformador内部ICollection<Transformador>也可以正常工作!< / p>

我的问题是Subtipo_Transformador内部有一个Tipo_Transformador而且没问题,但ICollection<Transformador>总是null

如果我得到一个Transformador,我也会得到所有的属性,但Subtipo_Transformador对象为空!

有人知道发生了什么事吗?

谢谢!还有关于英语的故事!

生成的查询(它在顶部的类定义中有更多的字段,因为有太多:P)

"SELECT

    [Extent1].[id_subtipoTrafo] AS [id_subtipoTrafo],
    [Extent1].[Codigo_delfos] AS [Codigo_delfos],
    [Extent1].[revision] AS [revision],
    [Extent1].[motivo_revision] AS [motivo_revision], 
    [Extent1].[Cliente] AS [Cliente], 
    [Extent1].[Nota_de_venta] AS [Nota_de_venta],
    [Extent1].[Fecha_diseño] AS [Fecha_diseño], 
    [Extent1].[Observaciones] AS [Observaciones],
    [Extent1].[Norma] AS [Norma],
    [Extent1].[Potencia_Primaria] AS [Potencia_Primaria],
    [Extent1].[Potencia_Secundaria] AS [Potencia_Secundaria], 
    [Extent1].[Potencia_Terciaria] AS [Potencia_Terciaria],
    [Extent1].[Tension_nominal_primaria] AS [Tension_nominal_primaria],
    [Extent1].[Tension_nominal_secundaria] AS [Tension_nominal_secundaria],
    [Extent1].[Tension_nominal_terciaria] AS [Tension_nominal_terciaria],
    [Extent1].[Tension_alternativa_primaria] AS [Tension_alternativa_primaria],
    [Extent1].[Tension_alternativa_secundaria] AS [Tension_alternativa_secundaria],
    [Extent1].[Tension_alternativa_terciaria] AS [Tension_alternativa_terciaria],
    [Extent1].[Mat_arrollamiento_primario] AS [Mat_arrollamiento_primario],
    [Extent1].[Mat_arrollamiento_secundario] AS [Mat_arrollamiento_secundario],
    [Extent1].[Mat_arrollamiento_terciario] AS [Mat_arrollamiento_terciario],
    [Extent1].[GrupoConexion] AS [GrupoConexion],
    [Extent1].[Reg_primaria_tension] AS [Reg_primaria_tension],
    [Extent1].[Reg_primaria_puntos] AS [Reg_primaria_puntos],
    [Extent1].[Reg_primaria_puntos_negativos] AS [Reg_primaria_puntos_negativos],
    [Extent1].[Reg_primaria_porcentaje] AS [Reg_primaria_porcentaje],
    [Extent1].[Reg_primaria_porcentaje_negativo] AS [Reg_primaria_porcentaje_negativo],
    [Extent1].[Reg_secundaria_tension] AS [Reg_secundaria_tension],
    [Extent1].[Reg_secundaria_puntos] AS [Reg_secundaria_puntos],
    [Extent1].[Reg_secundaria_puntos_negativos] AS [Reg_secundaria_puntos_negativos],
    [Extent1].[Reg_secundaria_porcentaje] AS [Reg_secundaria_porcentaje],
    [Extent1].[Reg_secundaria_porcentaje_negativos] AS [Reg_secundaria_porcentaje_negativos],
    [Extent1].[Reg_terciaria_tension] AS [Reg_terciaria_tension],
    [Extent1].[Reg_terciaria_puntos] AS [Reg_terciaria_puntos],
    [Extent1].[Reg_terciaria_puntos_negativos] AS [Reg_terciaria_puntos_negativos],
    [Extent1].[Reg_terciaria_porcentaje] AS [Reg_terciaria_porcentaje],
    [Extent1].[Reg_terciaria_porcentaje_negativos] AS [Reg_terciaria_porcentaje_negativos],
    [Extent1].[Reg_Especial] AS [Reg_Especial],
    [Extent1].[Frecuencia] AS [Frecuencia],
    [Extent1].[Frecuencia_Variable] AS [Frecuencia_Variable],
    [Extent1].[Perdidas_Vacio] AS [Perdidas_Vacio],
    [Extent1].[Corriente_Vacio] AS [Corriente_Vacio],
    [Extent1].[Perdidas_Cortocircuito_P_S] AS [Perdidas_Cortocircuito_P_S],
    [Extent1].[Perdidas_Cortocircuito_P_T] AS [Perdidas_Cortocircuito_P_T],
    [Extent1].[Perdidas_Cortocircuito_S_T] AS [Perdidas_Cortocircuito_S_T],
    [Extent1].[Ref_Perdidas_Cortocircuito_Primario_Secundario] AS [Ref_Perdidas_Cortocircuito_Primario_Secundario],
    [Extent1].[Ref_Perdidas_Cortocircuito_Primario_Terciario] AS [Ref_Perdidas_Cortocircuito_Primario_Terciario],
    [Extent1].[Ref_Perdidas_Cortocircuito_Secundario_Terciario] AS [Ref_Perdidas_Cortocircuito_Secundario_Terciario],
    [Extent1].[Tension_Cortocircuito_P_S] AS [Tension_Cortocircuito_P_S],
    [Extent1].[Tension_Cortocircuito_P_T] AS [Tension_Cortocircuito_P_T],
    [Extent1].[Tension_Cortocircuito_S_T] AS [Tension_Cortocircuito_S_T],
    [Extent1].[Ref_Tens_Cortocircuito_P_S] AS [Ref_Tens_Cortocircuito_P_S],
    [Extent1].[Ref_Tens_Cortocircuito_P_T] AS [Ref_Tens_Cortocircuito_P_T],
    [Extent1].[Ref_Tens_Cortocircuito_S_T] AS [Ref_Tens_Cortocircuito_S_T],
    [Extent1].[Bil_Primario] AS [Bil_Primario],
    [Extent1].[Bil_Secundario] AS [Bil_Secundario],
    [Extent1].[Bil_Terciario] AS [Bil_Terciario],
    [Extent1].[Aplicada_Primaria] AS [Aplicada_Primaria],
    [Extent1].[Aplicada_Secundaria] AS [Aplicada_Secundaria],
    [Extent1].[Aplicada_Terciaria] AS [Aplicada_Terciaria],
    [Extent1].[Resistencia_Primaria_75] AS [Resistencia_Primaria_75],
    [Extent1].[Resistencia_Secundaria_75] AS [Resistencia_Secundaria_75],
    [Extent1].[Resistencia_Terciaria_75] AS [Resistencia_Terciaria_75],
    [Extent1].[Alto_Total] AS [Alto_Total],
    [Extent1].[Largo_Total] AS [Largo_Total],
    [Extent1].[Ancho_Total] AS [Ancho_Total],
    [Extent1].[Alto_Cuba] AS [Alto_Cuba],
    [Extent1].[Largo_Cuba] AS [Largo_Cuba],
    [Extent1].[Ancho_Cuba] AS [Ancho_Cuba],
    [Extent1].[Trocha] AS [Trocha],
    [Extent1].[Cant_Aceite] AS [Cant_Aceite],
    [Extent1].[Peso_Decubaje] AS [Peso_Decubaje],
    [Extent1].[Peso_Cuba] AS [Peso_Cuba],
    [Extent1].[Peso_Total] AS [Peso_Total],
    [Extent1].[Ruedas] AS [Ruedas],
    [Extent1].[Ruedas_Aisladas] AS [Ruedas_Aisladas],
    [Extent1].[id_tipotransformador] AS [id_tipotransformador],
    [Extent2].[ID] AS [ID],
    [Extent2].[Descripcion] AS [Descripcion],
    [Extent2].[isDeleted] AS [isDeleted],
    [Extent2].[TipoTrafoId] AS [TipoTrafoId]
        FROM  [dbo].[Transformador] AS [Extent1] INNER JOIN [dbo].[Subtipo_Transformador] AS [Extent2] ON [Extent1].[id_subtipoTrafo] = [Extent2].[ID]"

EDIT2

FluentAPI:

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Accesorios>()
                .HasMany(e => e.Accesorio_x_Trafos)
                .WithRequired(e => e.Accesorios)
                .WillCascadeOnDelete(false);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Perdidas_Vacio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Corriente_Vacio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Perdidas_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Perdidas_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Perdidas_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Tension_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Tension_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Tension_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Tens_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Tens_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Tens_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Bil_Primario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Bil_Secundario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Bil_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Aplicada_Primaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Aplicada_Secundaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Aplicada_Terciaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.SobreTemp_Aceite_Max)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.SobreTemp_Arroll_Medio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Primario_Secundario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Primario_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Secundario_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Datos_Garantizados>()
                .Property(e => e.Potencia_Ref)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Modos_Refrigeracion>()
                .HasMany(e => e.Refrigeracion_x_Trafo)
                .WithRequired(e => e.Modos_Refrigeracion)
                .HasForeignKey(e => e.Id_refrigeracion)
                .WillCascadeOnDelete(false);

            modelBuilder.Entity<Refrigeracion_x_Trafo>()
                .Property(e => e.Sobre_temp_aceite_max)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Refrigeracion_x_Trafo>()
                .Property(e => e.Sobre_temp_arroll_medio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Refrigeracion_x_Trafo>()
                .Property(e => e.Gradiente_Primario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Refrigeracion_x_Trafo>()
                .Property(e => e.Gradiente_Secundario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Refrigeracion_x_Trafo>()
                .Property(e => e.Gradiente_Terciario)
                .HasPrecision(18, 0);

        /*    modelBuilder.Entity<Subtipo_Transformador>()
                .HasMany(e => e.Transformador)
                .WithOptional(e => e.Tipo_Transformador)
                .HasForeignKey(e => e.id_tipo_maquina);*/

            modelBuilder.Entity<Transformador>()
                .Property(e => e.motivo_revision)
                .IsUnicode(false);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Observaciones)
                .IsUnicode(false);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Potencia_Primaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Potencia_Secundaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Potencia_Terciaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_nominal_primaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_nominal_secundaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_nominal_terciaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_alternativa_primaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_alternativa_secundaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_alternativa_terciaria)
                .HasPrecision(18, 0);


            modelBuilder.Entity<Transformador>()
                .Property(e => e.Reg_primaria_porcentaje)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Reg_secundaria_porcentaje)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Reg_terciaria_porcentaje)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Perdidas_Vacio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Corriente_Vacio)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Perdidas_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Perdidas_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Perdidas_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Primario_Secundario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Primario_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Perdidas_Cortocircuito_Secundario_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Tension_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Tens_Cortocircuito_P_S)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Tens_Cortocircuito_P_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ref_Tens_Cortocircuito_S_T)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Bil_Primario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Bil_Secundario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Bil_Terciario)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Aplicada_Primaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Aplicada_Secundaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Aplicada_Terciaria)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Resistencia_Primaria_75)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Resistencia_Secundaria_75)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Resistencia_Terciaria_75)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Alto_Total)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Largo_Total)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ancho_Total)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Alto_Cuba)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Largo_Cuba)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Ancho_Cuba)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Trocha)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Cant_Aceite)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Peso_Decubaje)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Peso_Cuba)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .Property(e => e.Peso_Total)
                .HasPrecision(18, 0);

            modelBuilder.Entity<Transformador>()
                .HasMany(e => e.Accesorio_x_Trafos)
                .WithRequired(e => e.Transformador)
                .WillCascadeOnDelete(false);

            modelBuilder.Entity<Transformador>()
                .HasMany(e => e.Datos_Garantizados)
                .WithRequired(e => e.Transformador)
                .WillCascadeOnDelete(false);

            modelBuilder.Entity<Transformador>()
                .HasMany(e => e.Refrigeracion_x_Trafo)
                .WithRequired(e => e.Transformador)
                .WillCascadeOnDelete(false);
        }

1 个答案:

答案 0 :(得分:1)

<强>解决

所有这些都是由于两件事造成的,第一个问题出现在class Subtipo_Transformador,因为我没有定义Primary Key

但最大的问题是SQL Server,因为出于某种原因,他们在ForeignKeysclass Transformador之间创建了两个相同的class Subtipo_Transformador,当删除其中一个时,一切正常正确!

非常感谢你给我一点时间并试着帮助我!