如何在LINQ to SQL中将对象保存回我的数据库?

Edw*_*uay 9 asp.net-mvc linq-to-sql

使用ASP.NET MVC网站中的LINQ to SQL,我可以显示数据库表中的对象(记录).

现在我想创建一个新对象并将其保存回数据库.

在我的控制器中,我这样做:

    var dataContext = new MessageDataContext();
    Message message = new Message();
    message.Action = "save";
    message.Body = "record";
    message.Parameter = "234";
Run Code Online (Sandbox Code Playgroud)

现在我想用这样的东西来保存它:

message.Save();
Run Code Online (Sandbox Code Playgroud)

也许:

dataContext.SubmitChanges(message);
Run Code Online (Sandbox Code Playgroud)

但这些都不奏效.

这里的语法是什么:

  • 添加新对象并将其保存到数据库中?
  • 对现有对象进行更改并将其保存到数据库中?

Kev*_*Kev 26

你在寻找的是:

dataContext.Messages.InsertOnSubmit(message);
dataContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

假设您有一个Messages映射到LINQ to SQL DBML的表.


bru*_*nde 9

要添加新对象,只需:

dbContext.Messages.InsertOnSubmit(message);
dbContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

如果您对以前加载的实体进行任何更改,只需:

dbContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

如果您不想提交任何已更改的实体,则需要执行以下操作:

dbContext.Refresh(RefreshMode.OverwriteCurrentValues, message);
Run Code Online (Sandbox Code Playgroud)