Неправильный путь.
1) Добавить новую таблицу для объекта. Столбцы = ID, Имя
2) Добавить новую таблицу для Activity. Столбцы = ID, Имя
3) Добавить новую таблицу для записей Объекта объекта. Столбцы = ID, VenueID, FacilityID
4) Добавить новую таблицу для записей об активности объекта. Столбцы = ID, VenueID, ActivityID
5) Добавьте новые 2 частичных представления в представлении объекта для объекта и действия, чтобы загрузить флажки. Флажок L oop модели для привязки.
6) Получить данные из частичных представлений объекта и деятельности и сохранить данные в таблицах объекта и деятельности объекта.
РЕДАКТИРОВАНИЕ для ясного объяснения со скриншотами .
1) Создать новую таблицу для объекта


2) Создать новую таблицу для действия

3) Создать новую таблицу для VenueFacility (записи объекта за место). Необходимо создать взаимосвязь между этой таблицей, таблицей мест проведения и таблицей объектов в SQL Server.

4) Создать новую таблицу для VenueActivity (действие записи для места проведения). Вам необходимо создать связь между этой таблицей, таблицей мест проведения и таблицей действий на сервере SQL.

5) Перезапустите команду Scaffold-DbContext. в tools> nuget> консоль диспетчера пакетов, чтобы обновить ваши модели и dbcontext.
6) Добавить новое частичное представление для Facility.
_FacilityList.cs html
@model List<TestBenchmark.Models.VenueFacility>
@{
var db = new TestContext();
var list = db.Facility.AsQueryable();
int i = 0;
foreach (var item in list)
{
<input type="hidden" asp-for="@Model[i].FacilityId" value="@item.Id" />
<input type="checkbox" asp-for="@Model[i].IsChecked" /> @item.Name
i++;
}
}
7) Добавьте новый частичный вид для Activity.
_ActivityList.cs html
@model List<TestBenchmark.Models.VenueActivity>
@{
var db = new TestContext();
var list = db.Activity.AsQueryable();
int i = 0;
foreach (var item in list)
{
<input type="hidden" asp-for="@Model[i].ActivityId" value="@item.Id" />
<input type="checkbox" asp-for="@Model[i].IsChecked" /> @item.Name
i++;
}
}
8) Используйте этот код на странице своего места
<form method="post" asp-action="Index">
Venue Name: <input type="text" asp-for="Name" />
<br />
Facility<br />
<partial name="_FacilityList" for="@Model.VenueFacility" />
<br /><br />
Activity<br />
<partial name="_ActivityList" for="@Model.VenueActivity" />
<br />
<button>Save</button>
</form>
Как страница выглядит как

Результат

РЕДАКТИРОВАНИЕ 2 для объекта классы
Venue.cs
public partial class Venue
{
public Venue()
{
VenueActivity = new HashSet<VenueActivity>();
VenueFacility = new HashSet<VenueFacility>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<VenueActivity> VenueActivity { get; set; }
public virtual ICollection<VenueFacility> VenueFacility { get; set; }
}
Facility.cs
public partial class Facility
{
public Facility()
{
VenueFacility = new HashSet<VenueFacility>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<VenueFacility> VenueFacility { get; set; }
}
Activity.cs
public partial class Activity
{
public Activity()
{
VenueActivity = new HashSet<VenueActivity>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<VenueActivity> VenueActivity { get; set; }
}
VenueFacility.cs
public partial class VenueFacility
{
public int Id { get; set; }
public int? VenueId { get; set; }
public int? FacilityId { get; set; }
public bool IsChecked { get; set; }
public virtual Facility Facility { get; set; }
public virtual Venue Venue { get; set; }
}
VenueActivity.cs
public partial class VenueActivity
{
public int Id { get; set; }
public int? VenueId { get; set; }
public int? ActivityId { get; set; }
public bool IsChecked { get; set; }
public virtual Activity Activity { get; set; }
public virtual Venue Venue { get; set; }
}
ОБНОВЛЕНО 5 ФЕВРАЛЯ 2020
Venue.cs. Измените HashSet на List. Сделайте то же самое для VenueFacility.
public partial class Venue
{
public Venue()
{
VenueActivity = new List<VenueActivity>();
VenueFacility = new List<VenueFacility>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<VenueActivity> VenueActivity { get; set; }
public virtual ICollection<VenueFacility> VenueFacility { get; set; }
}
YourVenueController.cs
public IActionResult Index()
{
var db = new TestContext();
var list = db.Venue.Include(x => x.VenueActivity).Include(x => x.VenueFacility).FirstOrDefault();
return View(list);
}

