【问题标题】:Trigger stored procedure after SaveChanges in Entity Framework 1.0Entity Framework 1.0 中 SaveChanges 后触发存储过程
【发布时间】:2010-09-09 20:13:54
【问题描述】:
我在 SQL Server 2008 数据库中有一个审计表,它跟踪表中所做的所有更改。它做得很好,除了它无法捕获当前登录用户的用户名,因为我的连接字符串对所有连接都使用一个用户名。
这个应用程序是用 ASP.NET MVC 编写的,这就是我将用户名存储在连接字符串中的原因。
问题是:如何在调用 SaveChanges 函数后将用户名传递给该表?
【问题讨论】:
标签:
sql
entity-framework
sql-server-2008
【解决方案1】:
不要直接使用SaveChanges。创建自己的方法(可以是扩展方法),它将调用SaveChanges,然后运行您的附加代码。每次要保存更改时都使用此方法。
不好的是你可以忘记调用你的方法并直接使用SaveChanges。要处理它,您必须重构代码并将ObjectContext 隐藏到某个包装器 - 存储库中。在存储库上公开Save 方法并在那里实现您的保存逻辑。