2017-09-13 3 views
2

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 | - データアノテーション
  • -c | --context
  • -f | --force
  • -o | --output-dirの--schema
  • ...
  • -t | --table ...
  • --use-データベース名
  • --json
  • -p | --startupプロジェクト
  • --framework
  • --configuration
  • --runtime
  • |
  • -s --project
  • -hを構築--no-
  • --msbuildprojectextensionspath
  • | --help
  • -vは| --verbose
  • --no-色
  • --prefix-出力

答えて

0

名前空間は、--output-dirパラメータとプロジェクトのルート名前空間に基づいて生成されます。

たとえば、デフォルトのネームスペースがWebApplication1で、-o Modelsを使用する場合、ネームスペースはWebApplication1.Modelsになります。

+0

ええ、私はそれを変更して、プロジェクトの名前空間を使用しないようにしたいと思いました。実際、 '-o'パラメータにフルパス(ドライブ文字を含む)を渡しています –

関連する問題