Her Repository sınıfında bu kodu kullanırsam, SQL profil çalışmasını yaparım, ancak bu kodu her sınıftan StructureMap'in DB'yi işlediği sınıfa taşımak istiyorum. Bir Depo sınıfınStructureMap DBServiceRegistry ve MVC-mini-profiler?
Örnek:
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();
}
Şimdi DataContext değişken profilli versiyonu olacak ve böylece benim DBServiceRegistry sınıftan gelmek istiyorum. İşte
DBServiceRegistry sınıftır:
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());
}
}
Bu kod hataları neden olmaz ama SQL profil alamadım, ben yanlış yapıyorum?
elimden profil parçasının neden çalışmadığını gerçekten anladım, ancak kodla ilgili ciddi bir sorun görüyorum. Tüm DbContexts için kullanılacak kayıt defterinde tek bir bağlantı örneği oluşturuyorsunuz. – PHeiberg
LINQ-to-SQL bağlantısının '.Log' parametresini atarsınız? Ayrıca, ObjectFactory.GetInstance() 'herhangi bir yerde mi çalışıyorsunuz? –