我在 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/