Оператор вставки Linq ничего не вставляет, тоже не терпит неудачу - PullRequest
0 голосов
/ 26 марта 2010

Я пытаюсь вставить новую учетную запись в мою таблицу учетных записей с помощью linq. Я пытался использовать EntityModel и Linq2Sql. Я не получаю никакой вставки в свою базу данных или каких-либо исключений.

public static Linq2SQLDataContext dataContext {
        get { return new Linq2SQLDataContext(); }
    }

try {
      //EntityModel
      Accounts acc = Accounts.CreateAccounts(0, Voornaam, Straat, Huisnummer, Stad, Land, 15, EmailReg, Password1);
      Entities.AddToAccounts(acc);
      Entities.SaveChanges();

      //Linq 2 SQL
      Account account = new Account { City = Stad, Country = Land, EmailAddress = EmailReg, Name = Voornaam, Password = Password1, Street = Straat, StreetNr = Huisnummer, StreetNrAdd = Toevoeging, Points = 25 };
      dataContext.Accounts.InsertOnSubmit(account); 

      var conf = dataContext.ChangeConflicts;  // No changeConflicts
      ChangeSet set = dataContext.GetChangeSet(); // 0 inserts, 0 updates, 0 deletes

    try {
        dataContext.SubmitChanges();
    } catch (Exception ex) { }

        } catch (EntityException ex) {          

    }

Ответы [ 3 ]

4 голосов
/ 26 марта 2010

Вы заключаете .SubmitChanges () в try / catch, но проглатываете исключение ... вы уверены, что исключение не происходит?

0 голосов
/ 03 января 2011

Моя проблема была:

public static Linq2SQLDataContext dataContext {         get { return new Linq2SQLDataContext(); }     } 

Который каждый раз создает новый текстовый текст. Из-за этого

dataContext.Accounts.InsertOnSubmit(account);   and
dataContext.SubmitChanges();   

не имеют никаких ссылок друг на друга, потому что они представляют собой 2 разных объекта данных, которые приведут к тому, что не будет отправлено ни одного запроса.

0 голосов
/ 01 декабря 2010

Не уверен, поможет ли это, но у меня точно такой же симптом.

У меня была вставка LINQ в транзакции.

Причиной был сбой триггера AFTER INSERT, в результате которого транзакция не была завершена, однако исключений НЕТ.

Также с использованием SQL Profiler ничего не показывало. Я нашел его, только вставив оператор INSERT из Profiler и выполнив его вручную.

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