0

MiniProfiler を MVC3 プロジェクトに接続しました。私は EF4.0 を使用しており、エンティティの POCO クラスを生成しています。

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

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

SQL の代わりに「ExecuteStoreCommands」が表示される理由について何か考えはありますか? SQL プロファイラーに次のような実際の SQL が表示されます。

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

EF4.1/4.2/4.3 を使用していないため、問題が発生していますか? CodeFirst を使用していないためでしょうか。それはPOCOですか?

4

1 に答える 1

0

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

デシリアライゼーションの前の簡単な(ハッキーな)修正は次のとおりです。

profilerString = profilerString.Replace("FormattedCommandString", "CommandString");
var profiler = MiniProfiler.FromJson(profilerString);                
于 2012-05-09T14:33:00.210 に答える