2010-09-09 39 views
3

我在SQL Server 2008数据库中有一个审计表,它跟踪表中所做的所有更改。它做得很好,除了无法捕获当前登录用户的用户名,因为我的连接字符串为所有连接使用一个用户名。在实体框架1.0中的SaveChanges后触发存储过程

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

问题是:我如何传递一个用户名到这个表后我调用SaveChanges函数?

回答

1

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

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

+0

拉迪斯拉夫,感谢您的建议,下周我会试一试 – Alex 2010-09-10 17:53:30