何时调用SaveChanges

Cal*_*res 6 c# asp.net-mvc-4 entity-framework-5

说我有这样的东西叫做 Controller:

using (var context = new SqlContext())
{
    context.Items.Add(new Item("item1"));
}
Run Code Online (Sandbox Code Playgroud)

我应该打电话context.SaveChanges();吗?

Not*_*ple 9

实体框架使用DbContext实现工作模式单元,这意味着您要定义要对数据库执行的操作包,然后调用保存更改以将它们全部传播到数据库.所有操作都将在单个事务中执行(对于单个saveChanges调用),这意味着将全部或全部操作一次传播到数据库.

在调用保存更改之前,更改将应用​​于本地跟踪图,但不会应用于数据库本身,直到调用savechanges.