2015-04-09 3 views
0

Я искал эту проблему некоторое время. Я пытаюсь сохранить несколько элементов в одном вызове. Это мой код:Добавление нескольких элементов с использованием объекта

public Response<List<Transaction>> SetTransactions(List<Transaction> transactionList) 
    { 
     try 
     { 
      var responseData = new Response<List<Transaction>> 
      { 
       Status = Enums.Status.Success, 
       DisplayMessage = DisplayMessageConstants.CardTransactionSuccess 
      }; 

      foreach (var transaction in transactionList) 
      { 
       EntityContext.Transactions.Add(transaction); 
      } 

      EntityContext.SaveChanges(); 

      return responseData; 

     } 

Я использую первый подход кода и объект 5.0 в .net 4.5.

Я нашел несколько примеров этого вопроса, и все из них заявить следующее должно работать:

EntityContext.Transactions.AddObject (сделка).

Проблема в том, что у меня нет возможности AddObject. Что мне не хватает?

+0

какая ошибка вы получаете? – Pseudonym

+0

Не получается ошибка - опция просто недоступна. – kurabdurbos

+0

Только что обновил вопрос - я закончил копирование моего единственного метода добавления - теперь вопрос проверяет правильный метод, ... – kurabdurbos

ответ

0

Посмотрите на What is difference between dbcontext.Add and dbcontext.AddObject Причина, по которой вы не получаете возможность AddObject, - это просто объект Entity Framework. Ответ, на который я ссылался выше, говорит, что с версии 4.0 это изменилось. Вы все равно должны получать результат, который вы хотите, с кодом, который вы опубликовали, это дает вам ошибку?

+0

Получение ошибки идентификации из базы данных при ее попытке вставить. Из того, что я могу сказать, он не получает несколько уникальных первичных ключей из базы данных. – kurabdurbos

+0

Какая ошибка вы получаете? Вы пытаетесь вставить дубликат записи, когда есть уникальное ограничение? Я не уверен, что понимаю, о чем вы спрашиваете. Похоже, что у вас больше проблем с данными, чем с вашим кодом. –

+0

Получение нарушения UniqueConstraint. Это все новые записи, в которых первичный ключ генерируется базой данных. Он отлично работает для одной записи, но не для нескольких новых записей. – kurabdurbos

0

Оказывается - код работает нормально - на таблицу БД возникло странное ограничение, которое вызывало все проблемы. Спасибо всем, кто посмотрел и попытался помочь.

Смежные вопросы