MiniProfiler を使用して、SQL コマンドのプロファイルを作成しています。
私が現在取り組んでいる問題の 1 つは、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);
}