【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持
前言
至于多坑还是坑多,早已傻傻分不清,坊间谣传民间大神的【重庆求职防坑手册】早已被喷的不能自已,甚至已经下架
契机
更新内容
- 添加EFCore直接返回DataTable功能
- DBFirst功能,目前仅支持SQL Server、MySQL、NpgSQL三种数据库。根据已存在的数据表直接生成实体代码,详见CodeGenerator
- 添加单元测试项目,并完成对以上两点新功能的测试
- 引入IOC容器Aspectcore.Injector,详见AspectCoreContainer.cs
手拿来,手把手摸你
目前仅支持Sqlserver、MySQL、NpgSQL等三种数据库,具体用法如下:
- 注入DbContextOption
-
1 services.Configure<DbContextOption>(options => 2 { 3 options.ConnectionString = 4 "User ID=zengxw;Password=123456;Host=localhost;Port=5432;Database=ZxwPgDemo;Pooling=true;"; 5 }); 6 services.AddScoped<IDbContextCore, PostgreSQLDbContext>(); //注入EF上下文
View Code
注入CodeGenerateOption
-
1 services.Configure<CodeGenerateOption>(options => 2 { 3 options.OutputPath = "F:\\Test\\PostgreSQL"; 4 options.ModelsNamespace = "Zxw.Framework.Website.Models"; 5 options.IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories"; 6 options.RepositoriesNamespace = "Zxw.Framework.Website.Repositories"; 7 options.ControllersNamespace = "Zxw.Framework.Website.Controllers"; 8 });
View Code
调用GenerateAllCodesFromDatabase生成所有代码
1 CodeGenerator.GenerateAllCodesFromDatabase(true);