Я создаю Word Cloud, и поэтому я разделяю свои предложения в Linq с помощью Regex и группируя слова и беря их. Тем не менее, я не хочу, некоторые черные списки слов, чтобы появиться в моем облаке, так что я получаю эти слова в DataTable (dtBlackList) и проверить с Linq, как показано в коде нижеПроверить значение в datatable с Linq
var result = (Regex.Split(StringsForWordCloud, @"\W+")
.GroupBy(s => s, StringComparer.InvariantCultureIgnoreCase)
.Where(q => q.Key.Trim() != "")
.Where(q => (dtBlackList.Select("blacklistword = '" + q.Key.Trim() + "'").Count() == 0))
.OrderByDescending(g => g.Count())
.Select(p => new { Word = p.Key, Count = p.Count() })
).Take(200);
Будет ли этот запрос влияет на эффективность плохо? Правильно ли это проверять данные?
Это неправильная область, где вы можете задать вопрос ** Является ли этот код хорошим или плохим **. Лучше добавьте свое сообщение здесь [Обзор кода стека Exchange] (http://codereview.stackexchange.com/). – Prabhat
Что такое 'StringsForWordCloud'? Вы можете проверить профилировщик SQL, чтобы узнать, какие запросы генерируются при запуске вашего кода? – hatcyl
StringsForWordCloud содержит предложения, из которых я хочу создать слово облако. Мой сервер не является сервером sql. – Hitesh