Предполагая, что все сервисы зарегистрированы в вашем файле startup.cs, начните с доступа к данным и простой записи данных. Вы не публиковали свои методы обслуживания, поэтому я собираюсь сделать черный удар по тому, что там есть.
Возможно, у вас внутри _serviceCust
есть метод, который выставляет ваш список клиентов, или у него есть различные методы, такие как GetCustomerList()
или CreateCustomer(Customer cust)
. Волшебство c услуг заключается в том, что вы можете хранить повторно используемые логи c и получать к ним доступ со своего контроллера. В этом случае лучше всего использовать службу, которая может обновлять вложенные структуры для вас в базе данных.
Если вы хотите создать клиента, запустите на своем контроллере
var bobCustomer= new Customer()
{
Name = "Bob",
Profession = "Builder",
Document = docObject, //you need a prepared document object here
};
Тогда вы бы позвонили в свою службу, используя _serviceCust.CreateCustomer(bobCustomer)
Если вы хотите изучить более продвинутые методы обновления таблиц базы данных, изучите контексты транзакции . Они позволят вам поэтапно манипулировать вашей базой данных и при этом поддерживать ACIDity.
Если бы в вашем контроллере была логика c, вы могли бы сделать следующий псевдокод
using(var ctx = new ContextTransaction()){
var customer = new Customer();//...create customer object...
_serviceCust.Update(customer);
ctx.SaveChanges();
var sub = new SubCustomer();
sub.ParentCustomer = customer.Id; //use the customer id as a foreign key for your subcustomer
_serviceSubCust.Update(sub);
ctx.SaveChanges();
//use the subcustomer id as a foreign key for your other nested classes, so on so forth...
ctx.Commit();
}