是否可以更改脚手架命名空间?

时间:2017-09-13 12:14:12

标签: c# .net-core entity-framework-core scaffolding

我正在创建一个使用dotnet ef dbcontext scaffold命令从数据库创建模型的应用程序。虽然它很好用,但我想知道是否可以更改自动使用的命名空间。我正在使用这个:

var process = new Process
{
    StartInfo = new ProcessStartInfo
    {
        WindowStyle = ProcessWindowStyle.Hidden,
        CreateNoWindow = true,
        FileName = "dotnet",
        Arguments = $"ef dbcontext scaffold \"{connectionString}\" Microsoft.EntityFrameworkCore.SqlServer -d -c {contextName} -o \"{outputPath}\" -f",
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        UseShellExecute = false,
        WorkingDirectory = workingDirectory
    }
};

process.Start();

The MSDN article似乎没有为此列出一个选项,但可能存在未记录的方式:

  

选项:

     
      
  • -d | --data-annotations
  •   
  • -c | --context
  •   
  • -f | --force
  •   
  • -o | --output-dir
  •   
  • - 架构......
  •   
  • -t | --table ...
  •   
  • - use-database-names
  •   
  • - json
  •   
  • -p | --project
  •   
  • -s | --startup-project
  •   
  • - 框架
  •   
  • - 配置
  •   
  • - 运行时
  •   
  • - msbuildprojectextensionspath
  •   
  • - no-build
  •   
  • -h | --help
  •   
  • -v | --verbose
  •   
  • - 无色
  •   
  • - 前缀输出
  •   

1 个答案:

答案 0 :(得分:0)

命名空间是基于--output-dir参数和项目的根命名空间生成的。

例如,如果您的默认命名空间为WebApplication1并且您使用-o Models,则命名空间将为WebApplication1.Models