【发布时间】:2020-09-01 14:30:09
【问题描述】:
我有一个实体模型
public class User{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Department {get;set;}
}
所以我想使用实体框架核心 3.1 在数据库中搜索类似 "john smith" 的文本。
我之前是拆分文字的。
public async Task<IEnumerable<UserListViewModel>> Search(string search)
{
var terms = search.Split(" ");
var queryable = _context.Users.Where(s => terms.All(m => s.Department.ToLower().Contains(m)) ||
terms.All(m => s.FirstName.ToLower().Contains(m)) ||
terms.All(m => s.LastName.ToLower().Contains(m))).AsQueryable();
...........
...........
...........
}
但它不起作用。
那我该怎么做呢?
【问题讨论】:
-
反之亦然,例如
s => terms.Contains(s.Department.ToLower())等。 -
@RomanRyzhiy 我认为这不会有帮助 - 想象一下搜索字符串是“j smith tech”,而您正试图在“信息技术”部门找到“John Smith”。
标签: c# entity-framework linq entity-framework-core entity-framework-core-3.1