【发布时间】:2014-01-07 15:21:23
【问题描述】:
我想编写一个带有 Like 运算符但没有 WildCard 运算符的 LINQ to SQL 查询。
我知道以下几点:
包含将等同于此:a like '%b%' StartsWith 将等效于此:a like '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();
但这只是一种解决方法,因为我想做的是简单地使用 Like 的等效项,但不使用 WildCard,这在 SQL Server Profiler 上很明显。
请告诉我。
提前谢谢你。
【问题讨论】:
标签: c# linq linq-to-sql entity-framework-4 linq-to-entities