У меня есть две таблицы, которые имеют отношение многие ко многим. Когда я добавил миграцию с помощью Package Manager Console, была создана таблица соединений. Я не уверен, насколько это относится к тому, чего я пытаюсь достичь.
Установка выглядит следующим образом ...
У клиента может быть много членов семьи
Учетная запись члена семьи также может быть связана с несколькими клиентами
Я настроил модели вот так
Модель семейного аккаунта
public class FamilyAccount
{
public FamilyAccount()
{
this.Clients = new HashSet<Client>();
}
public int Id { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string userName { get; set; }
public string emailAddress { get; set; }
public virtual ICollection<Client> Clients { get; set; }
}
и модель клиента
public class Client
{
public Client()
{
this.Family = new HashSet<FamilyAccount>();
}
public int Id { get; set; }
public string Title { get; set; }
public string firstName { get; set; }
public string middleNames { get; set; }
public string lastName { get; set; }
public virtual ICollection<FamilyAccount> Family { get; set; }
}
В моем контроллере в методе create я передаю модель для новой учетной записи семьи, а также для какого клиента создается учетная запись. Я пытаюсь получить доступ к атрибутам с помощью лямбда, как это
public ActionResult Create(FamilyAccount familyAccount, int clientId)
{
if (ModelState.IsValid)
{
db.FamilyAccounts.Add(familyAccount);
db.SaveChanges();
return RedirectToAction("Index", new { Id = familyAccount.Clients.Id});
}
return View(familyAccount);
}
В моем файле контекста у меня есть следующая настройка
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Client>()
.HasMany(c => c.Family).WithMany(i => i.Clients)
.Map(t => t.MapLeftKey("Client_Id")
.MapRightKey("FamilyAccount_Id")
.ToTable("FamilyAccountClients"));
}
По какой-то причине у меня нет доступа к атрибутам familyAccount.Clients, поэтому я не могу использовать familyAccounts.Clients.Id
Если бы кто-нибудь мог сообщить мне, где я иду не так, я был бы признателен