我想用Like運算符編寫LINQ to SQL查詢,但沒有WildCard運算符。LINQ Like子句 - 沒有通配符運算符
我瞭解以下內容:
包含將equivelent這樣:StartsWith將equivlent到這個LIKE '%B%' :一個像 'B%' 和的endsWith會反之亦然。
Equals可以做到,但「這種方法執行序數(區分大小寫和文化不敏感)比較。」
我現在正在做的方式是這樣的:
var loc = (from l in data.Locations.OrderBy(l => l.LocationName)
join s in data.LocationSecurities.Where(s=> s.UserName.ToLower().Equals(userName.ToLower())) on l.LocationID equals s.LocationId
select new
{
LocationId = l.LocationID,
Name = l.LocationName
}
).Distinct().ToList();
但這只是一個變通,因爲我想要做的就是簡單地使用等的equivelent但whitout通配符,這在SQL Server Profiler上清晰可見。
請讓我知道。
預先感謝您。
SqlMethods.Like方法不被編譯器識別;即使這應該是Linq to SQL。 @Dave Bish –
@t_plusplus - 什麼?添加對System.Data.Linq.SqlClient.SqlMethods的引用 –