我有具有多对多关系和播种的模型(代码优先)和数据库(SQL Server)设置:
一个地方可以有很多标签(例如餐厅、酒吧、咖啡馆)——标签可以属于很多地方。
Place
[ScaffoldColumn(false)]
public virtual int PlaceID { get; set; }
[Required(ErrorMessage = "Place Name is required")]
[StringLength(100)]
public virtual string Name { get; set; }
[Required]
public virtual string Address {get;set;}
public virtual string ImageLogo {get;set;}
public virtual string ImageBackground {get;set;}
Tag
public virtual int TagID { get; set; }
[Required]
public virtual string Name { get; set; }
[Required]
public virtual string NamePlural { get; set; }
public virtual ICollection<Place> Places { get; set; }
EF Migrations 生成了一个带有 TagID 和 PlaceID 的联结表,我可以在我的 Seed 方法中添加具有多个标签的 Places。大约有 50 个标签 - 全部为种子。
我想做的是有一个创建视图表单——它允许用户从所有标签中进行选择——可能带有复选框(对替代品开放)、一些异步文本框等?然后将其与模型一起保存。
此数据将由管理员输入 - 输入速度是最重要的(不一定是 100% 傻瓜证明)。
我还需要能够编辑该地点 - 并适当地显示这些标签以删除或添加其他标签。
也是处理删除地点的最佳方法 - 首先删除联结表中的记录?
以上所有方面的最佳做法是什么?
谢谢。