gpt4 book ai didi

c# - 添加新实体后是否需要调用域服务的 context.SaveChanges?

转载 作者:太空狗 更新时间:2023-10-30 01:26:24 32 4
gpt4 key购买 nike

我正在构建基于 Ria 服务的应用程序。

在 Visual Studio 向导构建的默认方法中,我可以看到应该插入和保存新数据的方法。

例如:

    public void InsertCustomer(Customer customer)
{
if ((customer.EntityState != EntityState.Detached))
{
this.ObjectContext.ObjectStateManager.ChangeObjectState(customer, EntityState.Added);
}
else
{
this.ObjectContext.Customers.AddObject(customer);
}
}

但是,我没有看到任何 this.ObjectContext.SaveChanges(),据我所知应该调用它以将实体插入数据存储区。 ...我是否需要修改这些功能以保留信息?

提前致谢,干杯,詹卢卡。

最佳答案

当您在客户端调用 SubmitChanges 时,它会调用服务器上的 DomainService.Submit。然后默认实现依次调用许多 protected 虚拟方法,包括 AuthorizeChangeSet、ValidateChangeSet、ExecuteChangeSet 和 PersistChangeSet。您的 CUD 操作将从 ExecuteChangeSet 调用,而 ObjectContext.SaveChanges() 将从 PersistChangeSet 调用。

您无需修改​​默认方法来保存信息,因为默认情况下会处理这些信息。但是,如果您发现更复杂的场景需要它,该设计为您提供了覆盖提交管道 block 的选项。

关于c# - 添加新实体后是否需要调用域服务的 context.SaveChanges?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003212/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com