【问题标题】:Entity Framework 5 log database changes at runtimeEntity Framework 5 在运行时记录数据库更改
【发布时间】:2012-11-21 10:34:54
【问题描述】:

在 ASP.NET 4.5 C# Entity Framework 5 Code First 项目中,我想记录运行时在数据库中所做的更改(记录必须在 asp.net 应用程序中完成,而不是在数据库中) .以前,SQL 语句是由代码构建的,这些语句只是简单地记录下来。现在使用 EF,对象通过 linq 检索到实体、修改和

db.SaveChanges();

正在被调用。我的第一个想法是检索 EF 发送到数据库的实际 SQL 语句——然而,这似乎相当复杂。我找到了许多在调试期间显示 SQL 的“解决方案”,但没有简单的方法让代码在运行时检索它。

所以我正在寻找可以记录所做更改的任何解决方案(发送到数据库的 SQL [首选],或对对象所做更改的某种其他形式的文本表示形式),并且'不需要包含许多复杂的调试库。

【问题讨论】:

    标签: c# .net entity-framework linq-to-entities


    【解决方案1】:

    你应该试试 FrameLog

    https://bitbucket.org/MartinEden/framelog/wiki/Home

    没有明确说明,但它支持 Entity Framework 5

    【讨论】:

      【解决方案2】:

      我尚未在 EF 4.5 上对此进行测试,因此可能需要对其进行一些调整,但出于调试目的,我发现这篇文章底部编写的扩展方法:

      http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/2a50ffd2-ed73-411d-82bc-c9c564623cb4/

      为我的 entity.SaveChanges() 调用提供正确的输出。它不需要任何外部库,并且由于它是作为扩展方法编写的,因此不会阻塞您的代码。

      【讨论】:

      • 很遗憾,这不适用于 EF5 和 DBContext。
      猜你喜欢
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多