Если я использую этот код в каждом классе репозитория, я получаю SQL-профилирование, но я хочу переместить этот код из каждого класса в класс, где StructureMap обрабатывает DB.
Пример класса репозитория:
public DB CreateNewContext()
{
var sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
var profiledConnection = ProfiledDbConnection.Get(sqlConnection);
return DataContextUtils.CreateDataContext<DB>(profiledConnection);
}
public SqlRecipeRepository(DB dataContext)
{
_db = CreateNewContext();
}
Теперь я хочу, чтобы переменная dataContext была профилированной версией, поэтому я пришел из своего класса DBServiceRegistry.
Вот класс DBServiceRegistry:
public class DBServiceRegistry : Registry
{
public DBServiceRegistry()
{
var sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["GetMeCooking.Data.Properties.Settings.server"].ConnectionString);
var profiledConnection = ProfiledDbConnection.Get(sqlConnection);
For<DB>().HybridHttpOrThreadLocalScoped().Use(() => DataContextUtils.CreateDataContext<DB>(profiledConnection));
//Original method just had this:
//For<DB>().HybridHttpOrThreadLocalScoped().Use(() => new DB());
}
}
Этот код не вызывает никаких ошибок, но я не получаю профилирование SQL, что я делаю неправильно?