В представлении создания вставьте данные одновременно в две разные таблицы в ASP.NET MVC?

#asp.net-mvc

#asp.net-mvc

Вопрос:

Я занимаюсь ASP.NET Проект MVC, и у меня возникли проблемы с созданием представления: оно не сохраняет данные в двух таблицах. Я создаю клиента с именем, электронной почтой, адресом, почтовым кодом городом.

Это мои два стола:

Clients стол:

 public int ClientID { get; set; }  public string Name { get; set; }  public string Email { get; set; }  public string Address { get; set; }  public Nullablelt;intgt; MailID { get; set; }  public virtual PostOffices PostOffices { get; set; }  

А потом у меня есть PostOffices стол:

 [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]  public PostOffices()  {  this.Clients = new HashSetlt;Clientsgt;();  }   public int MailID { get; set; }  public string Zipcode { get; set; }  public string City { get; set; }   [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]  public virtual ICollectionlt;Clientsgt; Clients { get; set; }  

Я написал контроллер, который выглядит так:

 [HttpPost]  [ValidateAntiForgeryToken]  public ActionResult Create([Bind(Include = "ClientID,Name,Email,Address,MailID")] Clients clients)  {  if (ModelState.IsValid)  {  db.Asiakkaat.Add(asiakkaat);  db.SaveChanges();  return RedirectToAction("Index");  }   return View(asiakkaat);  }  

В представлении он показывает все и позволяет мне вводить данные во все поля ввода, но он сохраняет только данные в Clients таблице, такие как имя, адрес электронной почты, адрес, но ничего не сохраняет в PostOffices таблице (имеется в виду почтовый индекс и город).

Что-то не так с моим контроллером? Или я должен каким-то образом добавить в класс клиента почтовый индекс город, а не идентификатор почты? Я не могу заставить его работать.

Я ценю вашу помощь!

Ответ №1:

Просто удалите [Привязку] и никогда не используйте этот атрибут в будущем

 public ActionResult Create( Clients clients)  

Комментарии:

1. Хорошо, что это сработало!! Спасибо!

2. Мы вам очень рады! Пожалуйста, не забудьте принять ответ, так как он был полезным. Об этом должны знать другие пользователи. Вы можете принять ответ, щелкнув галочку сбоку от ответа.

3. Спасибо за помощь! 🙂

4. Добро пожаловать снова!