Как сохранить мой объект обратно в базу данных в LINQ to SQL? - PullRequest
9 голосов
/ 09 января 2009

С LINQ to SQL на веб-сайте ASP.NET MVC я могу отображать объекты (записи) из моей таблицы базы данных.

Теперь я хотел бы создать новый объект и сохранить его обратно в базу данных.

В моем контроллере я делаю это:

    var dataContext = new MessageDataContext();
    Message message = new Message();
    message.Action = "save";
    message.Body = "record";
    message.Parameter = "234";

А теперь я хочу СОХРАНИТЬ это примерно так:

message.Save();

Или, возможно:

dataContext.SubmitChanges(message);

Но ни одна из этих работ.

Какой здесь синтаксис:

  • добавить новые объекты и сохранить их в базе данных?
  • вносить изменения в существующие объекты и сохранять их в базе данных?

Ответы [ 2 ]

26 голосов
/ 09 января 2009

То, что вы ищете:

dataContext.Messages.InsertOnSubmit(message);
dataContext.SubmitChanges();

Предполагается, что у вас есть таблица Messages, сопоставленная с вашим LINQ to SQL DBML.

9 голосов
/ 09 января 2009

Чтобы добавить новые объекты, просто сделайте:

dbContext.Messages.InsertOnSubmit(message);
dbContext.SubmitChanges();

Если вы вносите какие-либо изменения в ранее загруженные объекты, просто выполните:

dbContext.SubmitChanges();

Если вы не хотите отправлять какие-либо измененные сущности, вам нужно сделать:

dbContext.Refresh(RefreshMode.OverwriteCurrentValues, message);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...