DbSet.SqlQuery是否忽略列映射?如何从sql查询中获取我的实体?

时间:2017-05-18 19:52:58

标签: c# entity-framework

我有一个我无法改变的数据库。其中一个表的列名是MFG-DATE(带连字符)。我为桌子做了一个课:

public class tblPreNeltec
{
    [Key]
    public string LotNo { get; set; }
    //...
    [Column("MFG-DATE")]
    public DateTime? MFG_DATE {get; set; }
}

所以我想当我尝试将tblPreNeltec从数据库中取出时,它应该可以正常工作,对吧?但是当我跑步时

var lots = db.tblPreNeltecSet.SqlQuery("SELECT * FROM tblPreNeltec WHERE LotNo LIKE @LotNo", new SqlParameter("@LotNo", LotNo)).ToList();

我收到错误:

The data reader is incompatible with the specified 'CofC.Models.tblPreNeltec'. A member of the type, 'MFG_DATE', does not have a corresponding column in the data reader with the same name.

但它不应该是MFG_DATE!我使用Column属性,它应该寻找MFG-DATE!对?我究竟做错了什么?就此而言,如果他们有一个名称中带有连字符的列,我怎么能用批号从数据库中检索一堆tblPreNeltec

0 个答案:

没有答案