如何查询连接字段?

时间:2016-01-08 04:40:47

标签: entity-framework linq

我想使用实体框架在两个sql字段中搜索名字和姓氏。下面是一些示例代码,我搜索searchString作为firstname和lastname数据库字符串的串联。

using(var ent = new testEntities)
{
    ent.Contacts.Where(u => (u.firstname + ' ' + u.lastname).contains(searchString))
}

搜索单个字段很简单,但我如何查询字符串,该字符串是两个数据库字段的串联。

2 个答案:

答案 0 :(得分:0)

用以下代码替换代码,这将有助于我思考。

 using(var ent = new testEntities)
    {
        ent.Contacts.Where(u => (u.firstname + " " + u.lastname).contains(searchString))
    }

答案 1 :(得分:0)

  

来自评论: [我收到错误]关于无法创建char类型的常量值。

表达式的问题在于在第一个和第二个字符串之间添加空格的方式。 EF知道如何将字符串连接转换为SQL,但它不知道如何在字符串类型和空间+的字段之间翻译' 'char类型的常量。

u.firstname + " " + u.lastname替换连接表达式将解决问题,因为空格" "现在是字符串文字,而不是char常量。