c# - 函数导入(存储过程)是否需要 SaveChanges()?

标签 c# .net entity-framework stored-procedures entity-framework-4

函数导入(存储过程)是否需要 SaveChanges()

例子:

void foo(Product product)
{
    // AddProduct is a function import of a stored procedure
    entities.AddProduct(product.Name, product.Price, product.Description);

    entities.SaveChanges(); // Is this necessary?
}

最佳答案

根据 MSDN , 保存更改

Persists all updates to the data source and resets change tracking in the object context.

也就是说,对于附加到上下文以及您添加、修改或删除的任何实体,EF 将生成相应的 SQL 代码并针对数据库运行它。在您的情况下,您已经通过调用 AddProduct 存储过程直接针对数据库运行 SQL 代码(或多或少)。因此,在您的情况下,SaveChanges 不会执行任何操作,也没有必要(当然,除非您对 ObjectContext 进行了其他未保存的更改)。

关于c# - 函数导入(存储过程)是否需要 SaveChanges()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7726913/

相关文章:

c# - 积家服务 : How to configure on Google Kubernetes?

c# - 将大量记录插入Sqlite数据库

asp.net - REGEX - 匹配字符串中任意位置的特殊字符

.net - 如何进入Oracle开发?

c# - 我的 C# Entity Frameworks 项目闹鬼了吗?

entity-framework - Entity Framework Core,无法在主键上设置主机名

c# - 当 .NET 控制台应用程序在 Console.ReadLine() 上阻塞时会发生什么?

C# 如何比较和交换两个结构?

c# - 在 C# "DialPad.Designer.CS"页面中注册 KeyPress 事件方法

c# - TransactionScope 什么时候将事务扩展到 "Distributed"?