如何设置 Sharp Repository 以与 AutoFac 和 Entity Framework 一起使用?
How do I setup SharpRepository to work with AutoFac & Entiry Framework?
我已经安装了
SharpRepository.EfRepository
SharpRepository.Ioc.Autofac
SharpRepository.Repository
并且我已按照 Autofac 文档的说明添加了此代码以设置 Autofac:
void SetupAutofac()
{
var builder = new ContainerBuilder();
// Get your HttpConfiguration.
HttpConfiguration config = GlobalConfiguration.Configuration;
// Register your Web API controllers.
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
// OPTIONAL: Register the Autofac filter provider.
builder.RegisterWebApiFilterProvider(config);
// Set the dependency resolver to be Autofac.
IContainer container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
但是 SharpRepository 入门指南无法帮助我了解 Autofac --> EF --> SharpRepo 胶水,因为它面向 StructureMap。请指教!
(如果可能,我想避免将内容放入 Web.config)
您需要安装 SharpRpository.Ioc.Autofac NuGet 包,如果您还没有。
然后你会打电话给
builder.RegisterSharpRepository()
为了告诉 Autofac 如何处理 IRepository。
然后告诉 SharpRpository 在需要 EF 时使用 Autofac,你需要调用
RepositoryDependencyResolver.SetDependencyResolver(new AutofacDependencyResolver(container));
应该就可以了。
我已经安装了
SharpRepository.EfRepository
SharpRepository.Ioc.Autofac
SharpRepository.Repository
并且我已按照 Autofac 文档的说明添加了此代码以设置 Autofac:
void SetupAutofac()
{
var builder = new ContainerBuilder();
// Get your HttpConfiguration.
HttpConfiguration config = GlobalConfiguration.Configuration;
// Register your Web API controllers.
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
// OPTIONAL: Register the Autofac filter provider.
builder.RegisterWebApiFilterProvider(config);
// Set the dependency resolver to be Autofac.
IContainer container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
但是 SharpRepository 入门指南无法帮助我了解 Autofac --> EF --> SharpRepo 胶水,因为它面向 StructureMap。请指教!
(如果可能,我想避免将内容放入 Web.config)
您需要安装 SharpRpository.Ioc.Autofac NuGet 包,如果您还没有。
然后你会打电话给
builder.RegisterSharpRepository()
为了告诉 Autofac 如何处理 IRepository。
然后告诉 SharpRpository 在需要 EF 时使用 Autofac,你需要调用
RepositoryDependencyResolver.SetDependencyResolver(new AutofacDependencyResolver(container));
应该就可以了。