Ответ 1
Вы хотите, чтобы модель представления содержала все данные, которые вы хотите вставить, а затем в контроллере создайте объекты на основе этой модели представления и вставьте их с помощью EF. Что-то вроде:
public class MyViewModel
{
public string Name {get; set;}
public string Birthday {get; set;}
public string VerNumber { get; set;}
public string Email {get; set;}
public string Address {get; set;}
// etc etc for the rest of your data
}
Затем в вашем контроллере используйте ViewModel для заполнения ваших объектов, а затем вставьте с помощью EF:
[HttpPost]
public ActionResult Add(MyViewModel model)
{
var client = new Client{
Name = model.Name,
Birthday = model.Birthday
};
var clientDetails = new ClientDetails();
//etc for your other entities
using (var context = new MyDbContext)
{
context.Clients.Add(client);
clientDetails.ClientId = client.Id;
context.ClientDetails.Add(clientDetails);
//etc add your other classes
context.SaveChanges();
}
//whatever you want to do here for the result, maybe direct to new controller
//or return view
return View();
}
Возможно, вам захочется посмотреть код рамки сущности, используя шаблон хранилища, и вы также можете посмотреть automapper, чтобы отобразить объекты из вашей модели просмотра, чтобы сохранить это вручную.