LINQ2SQL - 如何在另一个字符串中检测一个字符串的多个实例

时间:2012-03-15 14:56:26

标签: linq linq-to-sql

我正在尝试确定一种方法来查找名为“Word”的数据库表中包含某些字母的所有单词,这些字母对于单个字母实例来说非常容易,例如,如果我想查找包含“L”的所有单词'和'我'我会用:

Words.Where(w => w.Word_value.IndexOf("I") > 0 && w.Word_value.IndexOf("L") > 0)

然而,如果我需要找到包含字母'I'的所有单词和字母'L'的三个实例(例如'LILLY'),我不知所措。有没有办法可以对另一个字符串中的字符串实例进行计数?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

试试这个。

int count = Words.Length - Words.Replace("L", "").Length;

答案 1 :(得分:1)

我建议使用SQL Server的full text search功能。

使用全文搜索创建一个实现所需功能的存储过程,然后使用Linq将其公开给Sql或Linq to Entities。

另请参阅CONTAINS谓词。