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