我对Code First有点问题。最近我被要求在网格中添加3个字段以显示产品的库存数量,度量和主要位置。问题是,以上都不在同一个表中。为了解决这个问题,我想,我为产品的EF表添加了3个可空列,然后构建了一个存储过程来获取我的数据。电网正确加载,一切似乎都很好。然后我尝试编辑项目并收到以下消息:
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:列名称无效' StockQuantity'。 列名称无效'措施'。 列名称无效' PrimaryLocation'。
我试图弄清楚如何强制实体忽略这些字段,但我空手而归。我的问题是有没有办法忽略这些字段,除非我从我的SP中提取它们?
以下是我在Code First中为他们提供的代码:
/// <summary>
/// Used when getting the List for Products
/// </summary>
public virtual int? StockQuantity { get; set; }
/// <summary>
/// Used when getting the List for Products
/// </summary>
public virtual string Measure { get; set; }
/// <summary>
/// Used when getting the List for Products
/// </summary>
public virtual string PrimaryLocation { get; set; }
答案 0 :(得分:1)
将NotMapped
属性添加到属性中。
编辑:这是一个快速修复,我不认为最终你应该直接使用你的实体作为视图模型。