LINQ查询中整数字段的部分匹配

时间:2011-06-28 13:37:16

标签: linq entity-framework

我可以使用如下查询获取字符串字段的部分匹配:

employees = context.Employees
    .Where(ee => ee.LastName.Contains(text))
    .ToList();

有没有办法对整数字段做同样的事情?我试着在飞行中转换成一个字符串,但没有运气:

employees = context.Employees
    .Where(ee => ee.EmployeeID.ToString().Contains(text))
    .ToList();

2 个答案:

答案 0 :(得分:1)

考虑到这是假设,如果EF不直接支持它,只需强制它在进程中发生:

employees = context.Employees
    .AsEnumerable()
    .Where(ee => ee.EmployeeID.ToString().Contains(text))
    .ToList();

鉴于这已经是一个坏主意,拉动所有员工数据并没有那么糟糕;)

答案 1 :(得分:1)

如果您需要像这样进行搜索,那么我根本不认为这是个好主意,您也可以将搜索列作为字符串。否则,无论您的字段已建立索引,您在这里所做的都是表扫描。 这样,随着表的增长,表扫描将变得更加昂贵。