public void UpdateKnowledgeIndex(int knowledgeId, List <string> words, int creator) { var knowledgeIndexs = KnowledgeIndexRepository.GetKnowledgeIndexs(knowledgeId); var keywords = knowledgeIndexs.Select(s => s.Yki_Keyword); var enumerable = keywords as string[] ?? keywords.ToArray(); //删除数据库中存在的部分数据 var knowledgeDel = enumerable.Except(words).ToList(); var ids = new List <int>(); foreach (var delWord in knowledgeDel) { ids = knowledgeIndexs.Where(x => x.Yki_Keyword == delWord).Select(s => s.Yki_Id).ToList(); } if (ids.Count > 0) { KnowledgeIndexRepository.Delete(ids); } //添加新的部分数据 var knowledgeAdd = words.Except(enumerable).ToList(); foreach (var addWord in knowledgeAdd) { Yw_KnowledgeIndex knowledge = new Yw_KnowledgeIndex() { Yki_Keyword = addWord, Yki_KnowledgeId = knowledgeId, Yki_CreateTime = DateTime.Now, Yki_Creator = creator }; KnowledgeIndexRepository.Add(knowledge); } }
public void AddKnowledgeIndex(List <string> words, int knowledgeId, int creator, int level) { foreach (var word in words) { Yw_KnowledgeIndex knowledgeIndex = new Yw_KnowledgeIndex() { Yki_Keyword = word, Yki_Level = level, Yki_KnowledgeId = knowledgeId, Yki_CreateTime = DateTime.Now, Yki_Creator = creator }; KnowledgeIndexRepository.Add(knowledgeIndex); } }