我有一个带有[FirstName]和[LastName]列的用户表。我正在尝试构建一个搜索功能,以返回满足以下条件之一的用户:
例如,如果我的数据库中有以下用户:
我希望函数在输入为Jack时返回所有这些,但仅在输入为Jack One时返回Jack One。
我目前有以下代码:
var users = context.User.Where(x => x.FirstName == pattern || x.LastName == pattern || x.FirstName + " " + x.LastName == pattern)
但是这不起作用,因为它已被翻译成MySQL中的以下查询
...WHERE (`p`.`firstName` = 'Jack One') OR (`p`.`lastName` = 'Jack One')) OR (((`p`.`firstName` + ' ') + `p`.`lastName`) = 'Jack One')
这不起作用,因为我想如果要在MySQL中连接多个字符串,我们需要使用CONCAT(firstName,'',lastName)。
我尝试使用以下.NET函数,但无法将它们转换为sql(LINQ表达式...无法转换。要么以可以转换的形式重写查询,要么通过插入一个显式切换到客户端评估调用AsEnumerable(),AsAsyncEnumerable(),ToList()或ToListAsync())
如何在.NET CORE 3.1中实现此目标[[无
我有一个带有[FirstName]和[LastName]列的用户表。我正在尝试构建一个搜索函数,该函数将返回满足以下条件之一的用户:FirstName == myPattern或LastName == ...