在ASP中创建示例项目时,我使用了四个层。net核心,如下所示
我还在启动中实现了依赖注入.cs我的API项目中。而且效果很好。
services.AddTransient<IUserRepository, UserRepository>();
我有两个问题要问。
> < li>
可以在我的基础结构层而不是API层进行依赖注入吗?如果是,你能指导我怎么做吗?
如果我说错了纠正我,如果Asp.Net核心默认有依赖注入,那么我们就不需要Autofac(或者类似的第三方DI插件)。正确让我重新措辞这个问题。Asp核心中的Autofac有什么用?
任何建议都会有所帮助。
谢谢。
为您的基础架构层提供一个Config类,该类的Configure方法要求签名中包含IServeCollection,如下所示:
public static class InfrastructureConfiguration
{
public static void Configure(IServiceCollection services)
{
}
}
您可以从Startup类中的配置服务方法调用此配置方法。
在configure方法中,你可以连接你需要的东西,比如你有MyAwesomeInfraClass,你可以这样做:
public static class InfrastructureConfiguration
{
public static void Configure(IServiceCollection services)
{
services.AddTransient<MyAwesomeInfraClass>();
}
}
现在您可以在任何您喜欢的地方注入MyAwesomeInfraClass,例如在控制器中,如下所示:
public class HomeController : Controller
{
private readonly MyAwesomeInfraClass _myAwesomeInfraClass;
public HomeController(MyAwesomeInfraClass myAwesomeInfraClass){
_myAwesomeInfraClass = myAwesomeInfraClass;
}
}
链接 集成EntityFramework 集成NHibernate 集成EntityFramework Core 集成EntityFramework MySQL 集成Dapper
9.2 ABP基础设施层 - 集成Dapper 9.2.1 简介 Dapper 是基于.NET的一种对象关系映射工具。Abp.Dapper简单的将Dapper集成到ABP。它作为第二个ORM可以与EF 6.x, EF Core 或者 Nhibernate 工作。 9.2.2 安装 在开始之前,你需要安装Abp.Dapper以及 EF 6.x, EF Core 或者 NHibernate 这3个当中
9.2 ABP基础设施层 - 集成NHibernate ABP可以与任何ORM框架协同工作,它内置了对NHibernate的集成支持。本文将介绍如何在ABP中使用NHibernate。本文假定你已经初步掌握了NHibernate。 译者注:怎么才算初步掌握了NHibernate呢?译者认为应当懂得使用NHibernate进行CRUD,懂得使用Fluent模式进行映射。 9.2.1 Nuget包 要
9.1 ABP基础设施层 - 集成Entity Framework ABP可以与任何ORM框架协同工作,它内置了对EntityFramework的集成支持。本文将介绍如何在ABP中使用EntityFramework。本文假定你已经初步掌握了EntityFramework。 译者注:怎么才算初步掌握了EntityFramework呢?译者认为应当懂得使用Code First模式进行CRUD。 9.1
ABP 基础设施层 - 集成 Entity Framework MySql 9.4.1 简介 虽然启动模板默认设计是使用Sql Server,但是你可以很容易的修改它来使用MySql。要这么做的话,你需要跟随一下步骤: 9.4.2 实现使用MySQL 下载项目 请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET 5.x标签,还有
ABP 基础设施层 - 集成 Entity Framework Core 9.3.1 简介 Abp.EntityFrameworkCore nuget package 被用来集成到EF Core ORM框架. 在安装这个包以后,我们应该在模块类 AbpEntityFrameworkCoreModule 上添加 DependsOn 特性。 9.3.2 DbContext EF Core要求有个派生自