Entity Framework是否会处理GetFooFromUnmappableEntity方法中使用的SqlConnection?
我有以下服务:
public class FooService {
private readonly FooContext fooContext;
public FooService(FooContext fooContext) {
this.fooContext = fooContext;
}
public Foo GetFooFromUnmappableEntity(int id) {
return fooContext.Database.SqlQuery<Foo>(string.Format("select * from GetFoo({0})", id);
}
}
我正在使用Ninject来管理类库中的依赖项。所以绑定存在于这样的地方:
Bind<FooContext>.ToSelf();
答案 0 :(得分:0)
Ninject是&#34;依赖倒置&#34;的实现,这意味着你的依赖是接口,Ninject将为你提供实现。您需要创建一个IFooRepository
,在其实现中使用FooContext
。然后IFooRepository
被注入到IFooService
的构造函数中,而IFooService
并不需要知道有关如何实现存储库的任何信息。
就处置SqlConnection而言,您需要绑定存储库.InRequestScope()
并使用OnePerRequestModule
which will dispose your objects at the end of the request.