2012-10-24 20 views
3

ServiceStack包含內置的真棒MiniProfiler。但是,它是一個不同的版本,它編譯到ServiceStack中,在它自己的名稱空間中。如何讓ServiceStack MiniProfiler與EF一起工作?

我已經有了與正常的ADO.NET連接一起工作的探查器,但是我正努力使它與我的Entity Framework 4.2數據上下文一起工作。

通常情況下,人們會使用MiniProfiler.EF NuGet包,但由於它是針對官方MiniProfiler版本構建的,因此它不起作用。

什麼是兩種最簡單的方法:在ServiceStack換出MiniProfiler正式版

  • (我研究這一點,它似乎並不容易,因爲SS在一些對於監視生成JavaScript深處理程序)?
  • 或者,使內置的Profiler與ServiceStack和Entity Framework一起工作?
+1

使現有的分析器與SS + EF一起工作是勝利的選擇。 SS fx在MiniProfiler上有很大的侷限性,並且需要對SS進行更改,所以我們需要分叉。 – mythz

回答

4

所以,我沒有得到任何好的答案,所以我決定要走的路是端口MiniProfiler.EF運行對付ServiceStack。幸運的是,這並沒有太多努力。

其結果是在這裏:https://github.com/driis/ServiceStack.MiniProfiler.EntityFramework

這是完全相同的代碼是什麼MiniProfiler.EF,只是調整的命名空間,並固定了一些錯誤,使之編譯。要使用,只需將程序集放在項目中(而不是MiniProfiler.EF包),並在啓動代碼中調用MiniProfilerEF.Initialize_EF42() - 全部完成。

當我有時間時,我可能會嘗試對ServiceStack.Contrib發出拉取請求,因此可能會包含它,可能還有它自己的NuGet包。

1

以下示例中我已經移植了MiniProfiler.EF6。結果將在GitHubNuGet package上分享。