我只有 Ninject IOC 的经验。
我正在转换为 Caliburn.Micro 进行 WPF 开发。爱它至今。我从他们的 MEF 样本开始,并且喜欢这种灵活性。
无法弄清楚如何将这个工作代码从 Ninject 绑定到 Caliburn.Micros SimpleContainer。
kernel.Bind<Func<ISessionFactory>>().ToMethod(c =>
() => Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard
.Dialect<ImpactMsSqlCeDialect>()
.ConnectionString(String.Format("Data Source={0}", "c:\\AppDB.sdf")))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ChildMap>())//.ExportTo(@"C:\fnh\"))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ClassMap>()) //.ExportTo(@"C:\fnh\")
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ClassTypeMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<CustomerMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<EmployeeMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PunchcardMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PunchcardTypeMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PunchMap>())
//.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true))
#if DEBUG
.BuildConfiguration().SetInterceptor(new SqlStatementInterceptor())
#else
#endif
.BuildSessionFactory()).InSingletonScope();
我迷路了,所以我什至不想提供我尝试过的任何尝试。