sql - 在Entity Framework 1.0中SaveChanges之后触发存储过程

标签 sql entity-framework sql-server-2008

我在 SQL Server 2008 数据库中有一个审计表,它跟踪表中所做的所有更改。它做得很好,只是它无法捕获当前登录用户的用户名,因为我的连接字符串对所有连接使用一个用户名。

这个应用程序是用 ASP.NET MVC 编写的,这就是为什么我将用户名存储在连接字符串中。

问题是:在调用 SaveChanges 函数后如何将用户名传递到该表?

最佳答案

不要直接使用SaveChanges。创建自己的方法(可以是扩展方法),它将调用 SaveChanges 并运行您的附加代码。每次想要保存更改时都使用此方法。

坏事是你可能会忘记调用你的方法并直接使用SaveChanges。要处理它,您必须重构代码并将 ObjectContext 隐藏到某个包装器 - 存储库中。在存储库上公开 Save 方法并在那里实现您的保存逻辑。

关于sql - 在Entity Framework 1.0中SaveChanges之后触发存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680225/

相关文章:

sql - SQL 更新查询错误

java - PreparedStatement setnull 方法中 Types.INTEGER 和 Types.NULL 的区别

sql - 连接 RAISERROR 中的消息

sql-server-2008 - 如何根据特定条件从所有表中获取行数

sql-server-2008 - 如何在SQL Server 2008中的数据库上找到全文索引?

sql - VALUES ( ) 语法的列别名

c# - "ExecuteReader:Connection Property has not been initialized."

c# - Linq 查询转换为 SQL 弄乱了空参数值

mysql - 无法检索项目元数据。确保它是基于 MSBuild 的 .NET Core 项目

c# - 在 View 中从 ViewModel 迭代 ICollection