我正在创建一个使用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
- - 无色
- - 前缀输出
答案 0 :(得分:0)
命名空间是基于--output-dir
参数和项目的根命名空间生成的。
例如,如果您的默认命名空间为WebApplication1
并且您使用-o Models
,则命名空间将为WebApplication1.Models
。