【发布时间】:2011-08-02 22:56:58
【问题描述】:
我遇到了这个异常:
LINQ to Entities 不支持指定的类型成员“付费”。 只有初始化器、实体成员和实体导航属性 支持。
public ActionResult Index()
{
var debts = storeDB.Orders
.Where(o => o.Paid == false)
.OrderByDescending(o => o.DateCreated);
return View(debts);
}
我的模型课
public partial class Order
{
public bool Paid {
get {
return TotalPaid >= Total;
}
}
public decimal TotalPaid {
get {
return Payments.Sum(p => p.Amount);
}
}
Payments 是一个包含字段金额的相关表,如果我删除显示有关付款的正确信息的 Where 子句,则查询有效,是否知道代码有什么问题?
已解决,如建议的答案:
public ActionResult Index()
{
var debts = storeDB.Orders
.OrderByDescending(o => o.DateCreated)
.ToList()
.Where(o => o.Paid == false);
return View(debts);
}
【问题讨论】:
-
简单回答:不能在 linq-to-entities 查询中使用未映射的属性!只有映射的属性被转换为 SQL。
标签: linq entity-framework