我正在创建一个小型的vb.net应用程序。我只是尝试实体框架。当我使用
等方法时 ctx.DeleteObject(whatever)
您如何看到背后的实际代码以及它如何从数据库中删除?是否可以在某处看到代码在幕后如何工作?
答案 0 :(得分:0)
大多数.net代码都不是开源esp实体框架早期版本,但他们的版本7 beta版本是在github下发布的,你可以查看它们的功能。
这最能描述发生的事情
当您调用以下
之类的删除时var context = new SalesOrderManagementEntities();
IQueryable CustomerQuery =
(from p in context.Customer
where p.Name == "Vam"
select p);
Customer mySelectedCustomer =CustomerQuery.First();
context.DeleteObject(mySelectedCustomer);
context.SaveChanges();
当我们调用DeleteObject()方法时,ObjectContext将对象的状态标记为已删除但不删除该对象。
删除仅在我们调用SaveChanges时发生,因此它就像在内存中的软删除一样。在我们调用Save Changes
之前