5
我正在使用MiniProfiler來剖析我的sql命令。獲取SqlBulkCopy在MiniProfiler中顯示爲sql
一個問題我處理與LINQ現在產生重複的INSERT語句。
我已經轉換他們成SqlBulkCopy
命令,但現在它似乎沒有將其記錄在MiniProfiler SQL視圖。
會出現即使是一個SqlBulkCopy的一個相關的命令字符串?
是否有可能獲得批量複製出現在SQL命令的列表?
我可以至少讓它在%sql位中計算嗎?
我知道我可以使用MiniProfiler.Current.Step("Doing Bulk Copy")
但不會算作SQL,並且與任何具體的上市不會顯示。
電流以下代碼:
public static void BulkInsertAll<T>(this DataContext dc, IEnumerable<T> entities)
{
var conn = (dc.Connection as ProfiledDbConnection).InnerConnection as SqlConnection;
conn.Open();
Type t = typeof(T);
var tableAttribute = (TableAttribute)t.GetCustomAttributes(
typeof(TableAttribute), false).Single();
var bulkCopy = new SqlBulkCopy(conn)
{
DestinationTableName = tableAttribute.Name
};
//....
bulkCopy.WriteToServer(table);
}
數據被髮送特殊TDS數據包,但我不知道是否'BULK INSERT'使用SQL正在啓動。它在SQL Profiler中顯示爲SQL,但這可能是假的。 – usr
我正在研究[MiniProfiler 3.0](https://github.com/MiniProfiler/dotnet),它增加了一個更通用的'CustomTiming'類,允許您剖析「批量複製」並將其顯示在UI中與「sql」一樣。一旦出來,我會用一個例子來回答。 –
@JarrodDixon:太好了!任何關於時間表(超過6-8周)的想法? :) –