我有以下课程:
public class Contact
{
public int ContactID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
以及以下数据:
现在,我需要让用户搜索这样的联系人:
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不支持指定的类型成员'Name'。仅支持初始化程序,实体成员和实体导航属性。
任何的想法?
谢谢。
我认为您无需创建未映射的属性即可实现所需的功能。您可以尝试以下方法:
var someone = "John Doe";
var contacts=context.Contacts.Where(c => String.Concat(c.FirstName, " ", p.LastName).Contains(someone));
String.Concact
EF支持该方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句