Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 如何查询连接字段?_Entity Framework_Linq - Fatal编程技术网

Entity framework 如何查询连接字段?

Entity framework 如何查询连接字段?,entity-framework,linq,Entity Framework,Linq,我想使用实体框架在两个sql字段中搜索名字和姓氏。下面是一些示例代码,其中我搜索searchString作为firstname和lastname数据库字符串的串联 using(var ent = new testEntities) { ent.Contacts.Where(u => (u.firstname + ' ' + u.lastname).contains(searchString)) } 搜索单个字段很容易,但如何查询由两个数据库字段串联而成的字符串。用下面的代码替换代

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

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

搜索单个字段很容易,但如何查询由两个数据库字段串联而成的字符串。

用下面的代码替换代码,我想这会对您有所帮助

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

用下面的代码替换代码,我认为这将对您有所帮助

 using(var ent = new testEntities)
    {
        ent.Contacts.Where(u => (u.firstname + " " + u.lastname).contains(searchString))
    }
从注释中:[我得到一个错误]关于无法创建类型为
char
的常量值

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

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

从注释中:[我得到一个错误]关于无法创建类型为
char
的常量值

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


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

尝试代码时是否有错误?是的。有关无法创建char类型的常量值的信息。请尝试
u.firstname+“”+u.lastname
then:-)@dasblinkenlight感谢您现在正在工作!你可以回答,我可以标记为正确。当你尝试你的代码时,你有任何错误吗?是的。有关无法创建char类型的常量值的信息。请尝试
u.firstname+“”+u.lastname
then:-)@dasblinkenlight感谢您现在正在工作!你可以回答,我可以标记为正确。我不认为将
更改为
会有任何区别。如果是的话,为什么会这样呢?是的,但是dasblinkenlight实际上首先得到了正确的答案@PiotrStulinski,但我没有读到dasblinkenlight的评论。。对不起,我也为你做了尝试。我不认为把
改成
会有什么不同。如果是的话,为什么会这样呢?是的,但是dasblinkenlight实际上首先得到了正确的答案@PiotrStulinski,但我没有读到dasblinkenlight的评论。。对不起,我也试着帮你