2012-02-21 63 views
4

是否可以使用Simple.Data Library的Mini-Profiler?我用它從MySql中獲取數據,如下所示:帶Simple.Data的Mini-Profiler

var db = Database.OpenConnection(ConnectionString); 
var book = db.Books.FindById(id); 

如何使用此代碼使用Profiler?

回答

3

你可以告訴Simple.Data使用預先存在的連接,並用包裝的成型連接的連接:

var db = Database.OpenConnection(ConnectionString); 
using (var rawCnn = new MySqlConnection(ConnectionString)) 
using (var profiledCnn = new MvcMiniProfiler.Data.ProfiledDbConnection(rawCnn, MiniProfiler.Current); 
{ 
    profiledCnn.Open(); 
    ((AdoAdapter)db.GetAdapter()).UseSharedConnection(profiledCnn); 
    book = db.Books.FindById(id); 
    ((AdoAdapter)db.GetAdapter()).StopUsingSharedConnection(); 
} 
0

有一個新的掛鉤,這是addedSimple.Data它允許與MiniProfiler更好的整合。

AdoAdapter.ConnectionCreated += (o, args) => args.OverrideConnection(new ProfiledDbConnection((DbConnection)args.Connection, MiniProfiler.Current));

這basicallt允許你來裝到連接創建活動,用自己的異形連接覆蓋它。

注意:在寫這篇文章時,這個改變還沒有在nuget軟件包中。所以你需要你的定製版本Simple.Data