如何在LinqPad中提交更改

58

我在 LinqPad 中提交更改时遇到了问题。我在 LinqPad 中使用 IQ 驱动程序连接 Oracle 数据库,能够检索数据,但不知道如何将更改提交到数据库。

我从数据库中检索数据:

 var items = Asyncqueue.Where(x => ids.Any(y=> y == x.Asyncqueueid));
 // then I have to fix data 

我尝试设置提交操作如下:

 Asyncqueue.SetSubmitAction(items, SubmitAction.Update);

你尝试过SaveChanges();吗?你尝试了什么?有出现任何错误吗? - Erwin
这是我的问题。我不知道在哪里可以调用SaveChanges或类似的东西。 - bangoo
2
查询数据库,更改记录的值,调用SaveChanges()... - Erwin
没问题,已经制作成答案以备将来参考。 - Erwin
2个回答

81

在LINQPad中将语言设置为"C#程序",并使用以下代码

void Main()
{
    var p1 = Person.Single(x => x.Id == 1);
    p1.Name = "Test";
    SubmitChanges();
}

49
应该调用SubmitChanges()方法。 - Joe
38
Linq-to-SQL中的SubmitChanges和Entity Framework中的SaveChanges用于保存对数据库所做的更改。 - Erwin
8
您可以将其更改为“C#语句”,并省略Main函数。 - Arithmomaniac
他正在寻找IQ驱动程序,因此SubmitChanges是正确的。 - Robert Ivanc
请参见下面@Adrian的答案。C#语句同样适用,无需将其转换为C#程序。 - Ryan Shripat
如果因为Join而有一个复合对象怎么办? - macf00bar

17
如果您正在使用EF上下文,则需要调用SaveChanges()

如果您正在使用Linq2Sql上下文,则需要调用SubmitChanges()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接