Как сохранить данные таблицы, которая имеет отношение один ко многим - PullRequest
0 голосов
/ 12 мая 2019

У меня есть форма, которая имеет: 1) несколько полей ввода, которые принадлежат tableOne, и 2) DataTable, что пользователь добавляет строки в него столько, сколько необходимо, который принадлежит tableTwo

TableTwo имеет внешний ключ, который ссылается на TableOne PK Это означает, что они имеют отношение один ко многим

запись типа TableOne может иметь много связанных записей типа TableTwo

В форме Submit мне нужно сохранить данные обеих таблиц (значения полей ввода + данные в датированных данных) как одну транзакцию, где, если я получаю какие-либо ошибки при сохранении данных в одной таблице, я не хочу их сохранять, и выдать ошибку пользователю в поле зрения.

Мой вопрос теперь состоит из двух частей: сохранение данных «многие к одному» + сохранение в нескольких таблицах, как в одной транзакции

Мой фокус - как сохранить много строк данных в таблицу sql.

Должен ли я принимать значения каждой строки в качестве объекта объектов (json) и перебрать его в действии post в контроллере?

  //send data of datatable from ajax as json to controller action
  //data will be something like this:
  var objOfobjs = {
                     { 'nameVal1', 'shareFromStringVal1', 'shareToDateVal1', 'documentIdVal1', 'TableOneId'},
                     { 'nameVal2', 'shareFromStringVal2', 'shareToDateVal2', 'documentIdVal2', 'TableOneId'},
                     { 'nameVal3', 'shareFromStringVal3', 'shareToDateVal3', 'documentIdVa3', 'TableOneId'}
                  }



  //foreach (var data in objOfObjs) { //looping through data somehow?
  var TableTwo = new TABLE_TWO
  {
       //reads results from ajax function
       //name
       //shareFrom
       //shareTo
       //documentId
       //TableOneId (FK)
   };

   db.TABLE_TWO.Add(TableTwo);
   db.SaveChanges();
//}

Это правильно, как я думаю об этом, или есть определенный способ решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...