2
我的地方 - 与相关标签:LINQ到实体 - 删除/添加相关的数据(多对多的关系)
有地点模型:
public virtual int PlaceID { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual string Name { get; set; }
和相关标签型号:
public virtual int TagID { get; set; }
public virtual string Name { get; set; }
public virtual string NamePlural { get; set; }
public virtual ICollection<Place> Places { get; set; }
多对多的关系。
因此,例如 - 一个地方可以有一个'酒吧'和'咖啡厅'的标签。 (许多地方也可能有这些标签)。
我可以添加相关标签的地方很好。但是,如何操作与Linq相关的标签呢? (添加/删除/编辑)。
另外 - 如果我尝试保存地点模型,并添加相关标记 - 地点已更新但不是标记 - 我怎么能这样做?
place.Tags = SelectedTags
db.Entry(ptvm.place).State = EntityState.Modified;
db.SaveChanges();
谢谢。
谢谢 - 你是什么意思的微观管理?假设一个地方有2个标签'cafe'和'bar' - 我想删除'cafe'并添加'restaurant'。我应该先清除所有标签,然后添加“酒吧”和“餐厅”?什么是最好的方式来做到这一点? – niico
1.微观管理是指您手动更改EntityState以修改所有修改的实体。 2.如果我在哪里,我会清除并添加酒吧和餐厅。 –
我已经实现了它,并通过'place.Tags.Add(tag):“将对象引用设置为对象的实例。 - 但是在调试期间标记ISNT null – niico