在C#lambda表达式中插入,删除

时间:2013-04-24 07:32:15

标签: c# linq linq-to-sql lambda

我想知道使用

的不同之处
DB.MyTable.InsertOnSubmit(..);
and
DB.MyTable.InsertAllOnSubmit(..);
----------------------------------
DB.MyTable.DeleteOnSubmit(..);
and
DB.MyTable.DeleteAllOnSubmit(..);

我也想知道如何使用,有人可以用一些例子来解释我吗?

2 个答案:

答案 0 :(得分:3)

InsertOnSubmit(yourSingleData) and InsertAllOnSubmit(yourMultipleData as List) 

要删除单个数据,

var obj = Db.MyTable.Where(x => x.SomeData == "something").SingleOrDefault();
Db.MyTable.DeleteOnSubmit(obj);

要删除多个数据,

var obj = Db.MyTable.Where(x => x.SomeData == "something").ToList();
Db.MyTable.DeleteAllOnSubmit(obj);

答案 1 :(得分:1)

在LinqToSql中,上下文派生自DataContext,不同之处在于是否提交特定的单个实体或它们的集合。他们会像这样使用:

using (var context = new MyDataContext()) {
  context.Things.InsertOnSubmit(new Thing { ... })
}

您将填充Thing准备持久性的实例。

如果是第二个(全部插入),你将提供一个集合。