2012-05-08 2 views
0

私はちょうど私のMVC3プロジェクトにMiniProfilerを接続しました。私はEF4.0を使用して、自分のエンティティ用のPOCOクラスを生成しています。なぜMini-Profilerは、SQLテキストの "ExecuteStoreCommands"のみを表示していますか?

これらの生成されたObjectContextは、ObjectSet <>を使用します。私はまた、コンテキストのIoCのためにNInjectを使用しています。 (私はRequestScopeでこれを持っていましたが、その問題を解決するためTransientScopeに変更しました)。

私が見ているすべてのプロファイリングは、クエリとして "ExecuteStoreCommands"を表示しています。

「ExecuteStoreCommands」がSQLの代わりに表示されるのはなぜですか?私はEF4.1/4.2/4.3上にないだから

exec sp_executesql N'SELECT 
[Project2].[OrderID] AS [OrderID], 
... 

私は問題を抱えています:私はこのようになりますSQLプロファイラでの実際のSQLを参照してください?私はCodeFirstを使用しなかったのでですか? POCOですか?

答えて

0

MiniProfilerライブラリに問題があるようです。 SqlTimingオブジェクトのシリアル化(FromJSON経由)は、FormattedCommandStringにはgetメソッドしか保存されません。逆シリアル化では、これはCommandStringFormattedCommandStringが両方ともnullであることを意味しました。

(ハック)のデシリアライズがいた前に解決し、迅速:

profilerString = profilerString.Replace("FormattedCommandString", "CommandString"); 
var profiler = MiniProfiler.FromJson(profilerString);     
+0

をあなたはhttp://community.miniprofiler.com上のバグを上げることができます –

関連する問題