linq-to-sql InsertOnSubmit - PullRequest
       0

linq-to-sql InsertOnSubmit

1 голос
/ 23 декабря 2011

У меня есть объектная модель, которая сопоставлена ​​с таблицей базы данных. На данный момент запрос на обновление выглядит следующим образом:

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject)
{
  using (MyDataContext TheDC = new MyDataContext())
  {
    TheDC.MyTable.InsertOnSubmit(TheNewObject);
  }

  return TheNewObject;
}

Этот код не работает для вставляемой части (он говорит мне, что у InsertOnSubmit есть недопустимые аргументы). Кроме того, я хотел бы вернуть вставленный объект, чтобы я мог получить значение первичного ключа вставленного элемента.

Что мне нужно изменить? Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 23 декабря 2011

Убедитесь, что в MyTable.InsertOnSubmit(TheNewObject) новый объект типа MyTable может быть получен.Затем позвоните SubmitChanges():

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject)
{
  using (MyDataContext TheDC = new MyDataContext())
  {
    TheDC.MyTable.InsertOnSubmit(TheNewObject);
    TheDC.SubmitChanges();
  }

  return TheNewObject;
}
2 голосов
/ 23 декабря 2011

Если MyTable имеет тип Table<ObjectModel>, вы можете добавлять только объекты типа ObjectModel. Попробуйте создать свой класс MyObjectModel со всеми его свойствами в конструкторе linq2sql.

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