StructureMap ile bir OrmLite temel IoC oluşturmak istiyorum ancak yanlış bir şey yapıyorum. OrmLite'ı StructureMap ile ayarlama
container.Register<IDbConnectionFactory>(c =>
OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider)); //InMemory Sqlite DB
Yani StructureMap ile benim yeni oluşturulan WebAPI2 uygulamasında kullanmak istiyorum: OrmLite yerinde anda
onlar bunu enjekte nasıl basit bir örnek vermek.
Ben StructureMap.WebAPI2 Nuget yüklü ve ben şu yapılandırmaya sahip:
container.Configure(x => {
x.For<IAuthenticationService>().Use<AuthenticationService>();
x.For<IDbConnectionFactory>()
.Use<OrmLiteConnectionFactory>().Ctor<string>("connectionString").Is("Server=(localdb)\v11.0;Integrated Security=true;")
.Ctor<IOrmLiteDialectProvider>("dialectProvider").Is(SqlServerOrmLiteDialectProvider.Instance);
});
Ve bu senaryoda IAuthenticationServer normalde instanced ediliyor. i DbConnection erişmeye çalıştığınızda Ama enjekte değil ve ben db erişmeye çalışıyorum yolu Yani
public IDbConnectionFactory DbFactory { get; set; } //injected by IOC
IDbConnection db;
IDbConnection Db
{
get
{
return db ?? (db = DbFactory.Open());
}
}
boş bulunuyor. Ve getter DbFactory'de null. Bunu nasıl düzeltebilirim?