我在ASP MVC 5中的dbContext中使用LINQ。
首先,放入上下文,模型
[Table("Datos_Garantizados")]
public partial class Datos_Garantizados
{
[Key]
public long Version { 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? 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? SobreTemp_Aceite_Max { get; set; }
public decimal? SobreTemp_Arroll_Medio { 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? Potencia_Ref { get; set; }
}
背景信息:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
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);
}
当我尝试从表Datos_Garantizados获取列表时,查询会向查询添加不正确的列。
我试过了:
var Lista = db.Datos_Garantizados.ToList();
但是当我尝试编译它时,我得到一个SqlException:
“Transformador_Codigo_delfos”列中的El无效
在查询生成的SQL代码中添加了列Transformador_Codigo_Delfos
,该列在数据库中不存在。
答案 0 :(得分:0)
问题在于数据库设计。
我有类似的东西。
Transformador | Datos_Garantizados | Trafo_x_Garantizados
*codigo_delfos | *version | *version
tipo | resistencia | codigo_delfos
// more fields | //more fields |
问题是一个中间表,他们建立了一个1- *关系。
我修改了数据库,如
Transformador | Datos_Garantizados |
*codigo_delfos | *version |
tipo | codigo_delfos |
// more fields | more fields |
然后在Datos_Garantizados模型中正确添加ForeignKey到Transformador对象。
[ForeignKey("Codigo_delfos")]
public virtual Transformador Transformador { get; set; }
谢谢!