LinQ to SQL-没有SubmitChanges的InsertOnSubmit

时间:2018-11-17 10:13:09

标签: linq-to-sql

假设我通过调用 InsertOnSubmit 方法将实体插入到实体集中,如下所示:

DBDataContext db = new DBDataContext();
Product product = new Product {ID = "1" , Name = "Chair"};
db.Products.InsertOnSubmit(product);
// db.SubmitChanges();

我没有故意打 SubmitChanges 。 我的问题是,我以后可以找到该产品并使用 DeleteOnSubmit 方法将其删除吗?:

Product product = db.Products.Single(p => p.ID == "1");
db.Products.DeleteOnSubmit(product);

如果我做不到,那么 InsertOnSubmit方法的实际作用

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

InsertOnSubmit方法将实体添加到实体列表中,当您调用SubmitChanges时将插入该实体。

  

我的问题是,以后可以找到该产品并使用DeleteOnSubmit方法将其删除吗?:

您将找不到该实体,因为该实体在数据库中不存在。

请注意,如果您忽略查找内容,即代码是否为

DBDataContext db = new DBDataContext();
Product product = new Product {ID = "1" , Name = "Chair"};
db.Products.InsertOnSubmit(product);
db.Products.DeleteOnSubmit(product);

然后这将起作用,因为它不会靠近数据库。 DeleteOnSubmit命令将在您调用SubmitChanges时从要插入的实体列表中删除“产品”。