从db获取数据时出错。错误如下: -
{"Invalid column name 'Amount_Value'.\r\nInvalid column name 'Amount_Currency'.\r\nInvalid column name 'Amount_Value'.\r\nInvalid column name 'Amount_Currency'."}
这是我的主要模式" Deals": -
public class Deal {
public long ID { get; set; }
[StringLength(1024),Required]
public string Title { get; set; }
public Client Party { get; set; }
public long PartyID { get; set; }
public DateTime Created { get; set; }
public long Version { get; set; }
[DataType(DataType.MultilineText)]
public string Notes { get; set; }
public Money Amount { get; set; }
public DealKindEnum Mode { get; set; }
}
这里"金钱"是另一个类是这样的: -
public class Money
{
[DataType(DataType.Currency)]
public double Value { get; set; }
public string Currency { get; set; }
}
使用此查询时出错: -
var query = from client in db.Clients
join ra in db.Deals on client.ID equals ra.PartyID
where (ra.ID == id || id == 0)
select ra;
答案 0 :(得分:1)
EF无法对数据库中没有的属性执行任何操作。 根据您的评论,Money不是一个实体。
因此,您必须将Deal类中的属性标记为NotMapped
[NotMapped]
public Money Amount { get; set; }
在查询时,EF不会尝试从db获取任何内容。 当然,你在Amount属性中没有任何东西,但如果它不在db中你怎么能...