私はモデル(コードファースト)とデータベース(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% ばかである必要はありません)。
また、場所を編集できるようにする必要があります。これらのタグを適切に表示して、削除したり、他のタグを追加したりできます。
また、場所の削除を処理する最良の方法-最初にジャンクションテーブルのレコードを削除しますか?
上記のすべてにおけるベストプラクティスは何ですか?
ありがとう。