我正在尝试向多行添加相同的条目
我的项目包含表商店和表标记。这是一个多对多的关系;每个商店可以包含多个标签,每个标签可以与多个商店相关联。
的 Store.cs:
public class Store{
public int Id { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
的 Tag.cs :
public class Tag{
public int Id { get; set; }
public string Name { get; set; }
}
标签单独发布,然后与PUT请求中的商店相关。
StoreController.cs :
public async Task<IHttpActionResult> PutStore(int id, StoreViewModel model){
var store = await db.Stores.FindAsync(id);
if (model.tags != null)
{
foreach (var modelTag in model.tags)
{
var databaseTag = db.Tags.FirstOrDefault(c => c.Name == modelTag.Name);
if (databaseTag == null)
store.Tags.Add(new Tag()
{
Name = modelTag.Name
});
else
if (!store.Tags.Any(sc => sc.Name == modelTag.Name))
store.Tags.Add(databaseTag);
}
foreach (var storeTag in store.Tags.ToList())
if (!model.tags.Any(s => s.Name == storeTag.Name))
store.Tags.Remove(storeTag);
}
}
StoreViewModel包含一系列标签
那么为什么标签被复制而不是链接到不同的商店呢?
提前谢谢。