【发布时间】:2015-07-17 15:21:05
【问题描述】:
我有以下课程:
public class Contact
{
public int ContactID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
还有以下数据:
- 1 / John / Doe
- 2 / 迈克 / 泰森
- 3 / 约翰 / 麦克恩罗
- 4 / Stef / Doe
现在我需要让用户像这样搜索联系人:
-
John Doe> 获取名字为John和姓氏为Doe的所有联系人 -
John> 获取所有名字为John的联系人 -
Doe> 获取所有姓氏为Doe的联系人 - ...
我尝试将NotMapped 元素添加到我的班级并对此(全)名称执行搜索,但LINQ 查询不适用于NotMapped 元素。
[NotMapped]
public string Name {
get {
return FirstName + " " + LastName;
}
}
var someone = "John Doe";
requests.Where(s => s.Contact.Name.Contains(someone));
LINQ to Entities 不支持指定的类型成员“名称”。仅支持初始化程序、实体成员和实体导航属性。
有什么想法吗?
谢谢。
【问题讨论】:
-
不是在代码中计算值,而是在数据库中使用计算列呢? stackoverflow.com/questions/6944904/… 有一些关于这方面的信息,如果你通读所有内容的话。那时您也许可以查询计算列(从不累,所以我不确定 100%)
标签: c# linq entity-framework