我有一个场景,其中一个项目被标记了多个标签,其中一些已经在数据库中,其他则没有。
我想我需要Attach()已经存在的标签和AddObject()那些不存在的标签。这必须是一个常见的场景,对此最好的做法是什么?
答案 0 :(得分:2)
解决这个问题的唯一方法是
所以像这样分割你的标签
var tags = context.Tags.Where(t => t.ItemId = itemId) // search via your item
.Select(t => t.TagValue);
var newTags = myItem.Tags.Where(t => !tags.Contains(t.TagValue));
var existingTags = myItem.Tags.Where(t => tags.Contains(t.TagValue));
然后添加&酌情附上。