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

问题描述:

在ASP.NET MVC网站中使用LINQ to SQL我可以从我的数据库表中显示对象(记录)。如何将对象保存到LINQ to SQL的数据库中?

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

在我的控制,我这样做:

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

,现在我想的是这样保存它:

message.Save(); 

或许:

dataContext.SubmitChanges(message); 

但无论是这些工作。

什么语法这里:

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

什么你要找的是:

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

假设你有一个Messages表映射到你的LINQ to SQL的DBML。

+0

请问我可以帮我解决问题吗? [链接这里](http://*.com/questions/12761598/linq-to-sql-updates-datacontext-but-not-the-database) – Jed 2012-10-07 11:57:26

要添加新的对象只是做:

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

如果您对先前加载实体的任何变化只是做:

dbContext.SubmitChanges(); 

如果你不想提交任何更改的实体需要要做:

dbContext.Refresh(RefreshMode.OverwriteCurrentValues, message);