Zxw.Framework.NetCore icon indicating copy to clipboard operation
Zxw.Framework.NetCore copied to clipboard

完成对DB First代码生成的支持

Open VictorTzeng opened this issue 6 years ago • 4 comments

目前仅支持Sqlserver、MySQL、NpgSQL等三种数据库,具体用法如下:

  1. 注入DbContextOption
services.Configure<DbContextOption>(options =>
{
    options.ConnectionString =
        "User ID=zengxw;Password=123456;Host=localhost;Port=5432;Database=ZxwPgDemo;Pooling=true;";
});
  1. 注入CodeGenerateOption
services.Configure<CodeGenerateOption>(options =>
{
    options.OutputPath = "F:\\Test\\PostgreSQL";
    options.ModelsNamespace = "Zxw.Framework.Website.Models";
    options.IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories";
    options.RepositoriesNamespace = "Zxw.Framework.Website.Repositories";
    options.ControllersNamespace = "Zxw.Framework.Website.Controllers";
});   
  1. 调用GenerateAllCodesFromDatabase生成所有代码
CodeGenerator.GenerateAllCodesFromDatabase(true);

生成代码文件结构图

VictorTzeng avatar Jul 07 '18 02:07 VictorTzeng

你好,我照着以上的代码在net core 的webapi中使用使用报错; image StartUp中 image 调用部分: image 请问是调用那里出的错吗?还是仅可以在mvc中controller中调用?

lemongeek avatar Sep 12 '18 14:09 lemongeek

image 你代码注入有遗漏,请参照Demo中的注入

VictorTzeng avatar Sep 12 '18 14:09 VictorTzeng

多谢,我尝试 了加入demo中的InitIoC ()并进行删减,并放置在步骤【注入DbContextOption】代码前。此时提示的是“未能获取到数据库上下文,请先注册数据库上下文。” 我后边继续再研究研究。

lemongeek avatar Sep 12 '18 15:09 lemongeek

1.在Startup里面将ConfigureServices函数的返回值类型改成IServiceProvider, 如下 public IServiceProvider ConfigureServices(IServiceCollection services) 2.在所有资源都注入只有,这一句不能遗漏: return AspectCoreContainer.BuildServiceProvider(services);//接入AspectCore.Injector

VictorTzeng avatar Sep 12 '18 15:09 VictorTzeng