1
使用Unity注册注入EF ObjectContext的最佳方式是什么?IoC Unity:为依赖注入注册实体框架ObjectContext
我尝试这样做:
var environment = new EnvironmentInformationProvider();
container.RegisterType<MyContext>(new MyContext(environment.ConnectionString));
但导致这个错误:
Error CS1503 Argument 2: cannot convert from 'MyContext' to
'Microsoft.Practices.Unity.InjectionMember'
而且我不知道如何解决......另外,我不认为设立实例生存期。
所以,用一些挖我发现这一点:
builder.RegisterType<MyContext>()
.As<IMyContext>()
.InstancePerLifetimeScope();
也就是说Autofac代码。切换到它不是一种选择,因为我正在开发一个现有的应用程序(Unity应该能够做到这一点)。
假设以上是我所需要的,什么是Unity等值?
如何从MyContext中提取接口? (MyContext是我的EF ObjectContext) – Spikee
如果通过“提取”你的意思是“解决”,你可以做'container.Resolve()',那将构建并返回注册类型。但是你最好用依赖注入来代替。你知道你为什么首先使用IoC吗? –
haim770
不,我的意思是逐字提取:)我的意思是,我的MyContext继承自ObjectContext,但没有接口(这是从DB生成的标准EF实现)。所以,我不知道我有什么接口可以映射到MyContext。 – Spikee