我有一个在文本框中输入的关键字列表:
List<string> keywords = frsKeywords.Value.Trim().Split(',').ToList();
我正在做些什么:
if (keywords.Count > 0)
{
var getKeywordsForThisProduct =
from gk
in DataConnection.CPDBM.MetaKeywords
where gk.ProductCode == globalProduct.Code
select gk;
foreach (var keyword in getKeywordsForThisProduct)
if (!keywords.Contains(keyword.KeywordContent))
DataConnection.CPDBM.MetaKeywords.Remove(keyword);
foreach (string keyword in keywords)
{
//TODO: best way to check if keyword exists in table or not and insert into it if does not exists
}
}
我正在寻找检查表中是否存在任何关键字的最佳方法(在KeywordContent列中)。
答案 0 :(得分:0)
检查两组之间是否有任何交集的方法是使用交叉算子。在LINQ中Intersect()
。
但看起来你想要两组的差异,所以使用Except()
很遗憾,您无法在c#中使用Except()
的查询语法。见The more "SQL-syntax" of Linq.Except