Ric*_*001 2 c# linq vb.net linq-to-entities linq-to-sql
在LINQ to Entities(SQL)中是否有一种方法可以识别指定字重复至少/少于指定次数的所有记录?
我可以在内存中执行此操作,使用以下内容查找"word"一词的至少3个实例:
Where(Function(x) x.Description.Split("word").Count > 3)
Run Code Online (Sandbox Code Playgroud)
但是,Split()函数无法转换为SQL等效函数,因此只能在内存中执行,这在涉及任意数量的记录时会非常慢.
执行此操作的SQL将是类似的
WHERE Description LIKE '%word%word%word%'
Run Code Online (Sandbox Code Playgroud)
这就是我得到的 - 我无法弄清楚如何将LINQ生成的SQL生成实体.我尝试了这个丑陋的黑客.Where(Function(x) x.Description.Contains("word%word%word")
机会,但我几乎松了一口气,它不起作用!
LINQ2SQL
.Where (c => SqlMethods.Like(c.name, "word%word%word"));
Run Code Online (Sandbox Code Playgroud)
Linq2Entities
请参阅:http://jendaperl.blogspot.com/2011/02/like-in-linq-to-entities.html
和http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/6529a35b-6629-44fb-8ea4-3a44d232d6b9 /
.Where("it.Name LIKE @searchTerm",
new ObjectParameter("searchTerm", "word%word%word"));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
169 次 |
最近记录: |