Vb.net Linq中的Like运算符(用于整数)

Vb.net Linq中的Like运算符(用于整数),vb.net,linq,entity-framework-4,sql-like,Vb.net,Linq,Entity Framework 4,Sql Like,在Linq中,我们对字符串使用like运算符 var query = from c in ctx.Customers where c.City.StartsWith("L") && c.City.Contains("n") select c 是否可以在linq中对整数应用like运算符 请帮帮我。.Contains(“/Integer/”) 您还可以使用.StartsWith()或.EndsWith()。您可以将整型字段转换为字符

在Linq中,我们对字符串使用like运算符

var query = from c in ctx.Customers
            where c.City.StartsWith("L") && c.City.Contains("n")
            select c
是否可以在linq中对整数应用like运算符

请帮帮我。

.Contains(“/Integer/”)
您还可以使用.StartsWith()或.EndsWith()。

您可以将整型字段转换为字符串,然后使用
SqlMethods。如

var query = from c in ctx.Customers
            where SqlMethods.Like(c.IntegerPhoneNumber.ToString(), "555*")
            select c

不可以。您必须首先强制转换为字符串(请参见此处的答案:)

在SQL中,它类似于

DECLARE @StartsWith NVARCHAR
SET @StartsWith = '1'

SELECT * FROM Customers
WHERE (CAST CustomerId AS NVARCHAR(MAX)) LIKE @StartsWith + '%'
我想这应该适用于LINQ:

var query = from c in ctx.Customers
            where SqlFunctions.StringConvert((Decimal)c.CustomerId).Startswith("1")
            select c;

请注意,如果您有一个较大的表,这将是一个缓慢的查询,因为它需要进行表扫描(不会使用int列上的任何索引)。

如何处理整数?你到底想完成什么?你能举一个例子,说明你希望如何将Like与整数一起使用吗?@ChrisDunaway:实际上,我正在尝试对customerID字段进行实时搜索。这对我来说不起作用,出现了一个异常,说“LINQ to Entities不识别方法‘Boolean Like…..”将尝试改用eSQL。