检查表中是否存在关键字

时间:2015-03-13 22:52:56

标签: c# linq

我有一个在文本框中输入的关键字列表:

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列中)。

1 个答案:

答案 0 :(得分:0)

检查两组之间是否有任何交集的方法是使用交叉算子。在LINQ中Intersect()

但看起来你想要两组的差异,所以使用Except()

很遗憾,您无法在c#中使用Except()的查询语法。见The more "SQL-syntax" of Linq.Except