我可以使用如下查询获取字符串字段的部分匹配:
employees = context.Employees
.Where(ee => ee.LastName.Contains(text))
.ToList();
有没有办法对整数字段做同样的事情?我试着在飞行中转换成一个字符串,但没有运气:
employees = context.Employees
.Where(ee => ee.EmployeeID.ToString().Contains(text))
.ToList();
答案 0 :(得分:1)
考虑到这是假设,如果EF不直接支持它,只需强制它在进程中发生:
employees = context.Employees
.AsEnumerable()
.Where(ee => ee.EmployeeID.ToString().Contains(text))
.ToList();
鉴于这已经是一个坏主意,拉动所有员工数据并没有那么糟糕;)
答案 1 :(得分:1)
如果您需要像这样进行搜索,那么我根本不认为这是个好主意,您也可以将搜索列作为字符串。否则,无论您的字段已建立索引,您在这里所做的都是表扫描。 这样,随着表的增长,表扫描将变得更加昂贵。