Abp VNext模块开发

张开发
2026/4/10 16:36:47 15 分钟阅读

分享文章

Abp VNext模块开发
Abp VNext模块开发1.创建模块1.1 第一种方式1.2 第二种方式2 添加模块项目到主项目3 主项目EF层实现接口4 主项目Host层配置接口5 主项目Host层数据迁移1.创建模块1.1 第一种方式abpnewMom.Frame-t module--no-ui-v7.0.2-dbms MySQL这种方式会生成独立的Host可以独立调试运行1.2 第二种方式直接在主项目下添加模块在解决方案.sln目录下运行abpadd-module Mom.Frame--new--add-to-solution-file-v7.0.2-dbms MySQL2 添加模块项目到主项目需要添加下面几层(第二种方式不用添加已经自动添加了)ApplicationApplication.ContractsDomainDomain.SharedEntityFrameworkCoreHttpApi通过下面方式添加到主项目在解决方案.sln目录下运行dotnet slnaddmodule/Mom.Frame/src/Mom.Frame.HttpApi.Client/Mom.Frame.HttpApi.Client.csproj3 主项目EF层实现接口DBContext 实现模块DBContext接口IEnergyDbContextOnModelCreating 方法重写builder.ConfigureEnergy()publicclassResourceDbContext:AbpDbContextResourceDbContext,IResourceDbContext,IEnergyDbContext{/* Add DbSet for each Aggregate Root here. Example: * public DbSetQuestion Questions { get; set; } */publicDbSetStoreHouseStoreHouses{get;set;}publicDbSetProductionStationProductionStations{get;set;}publicResourceDbContext(DbContextOptionsResourceDbContextoptions):base(options){}protectedoverridevoidOnModelCreating(ModelBuilderbuilder){base.OnModelCreating(builder);builder.ConfigureIdentity();builder.ConfigureResource();builder.ConfigureEnergy();}}4 主项目Host层配置接口privatevoidConfigureConventionalControllers(){ConfigureAbpAspNetCoreMvcOptions(options{options.ConventionalControllers.Create(typeof(ResourceApplicationModule).Assembly);options.ConventionalControllers.Create(typeof(EnergyApplicationModule).Assembly);});}5 主项目Host层数据迁移在终端打开执行迁移脚本dotnet ef migrationsaddInit

更多文章