Vb.net Linq中的Like运算符(用于整数)
在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()。您可以将整型字段转换为字符
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。