@jlewの提案を考慮して、回避策を見つけました。はい、クリックしました。
ここにあります:
最初に、次のリンクからダウンロードしたカスタマイズされたテンプレートによって、「CodeTemplates/ReverseEngineerCodeFirst」フォルダーの下に生成されたデフォルトのテンプレートを上書きしました。
http://romiller.com/2012/05/09/customizing-reverse-engineer-code-first-in-the-ef-power-tools/
(注:これは、Fluent APIではなくデータ注釈を構成に使用するために行われ、列とテーブルのマッピングはデータ注釈を使用して行われます。詳細については、上記のリンクを参照してください)。
それから私は次のことをしました:
Context.ttファイルが置き換えられました
using <#= code.EscapeNamespace(efHost.MappingNamespace) #>;
namespace <#= code.EscapeNamespace(efHost.Namespace) #>
と
<#
var hostMapNamespace = code.EscapeNamespace(efHost.MappingNamespace);
hostMapNamespace = hostMapNamespace.Replace(".Models", ".ModelsEF");
var hostNamespace = code.EscapeNamespace(efHost.Namespace);
hostNamespace = hostNamespace.Replace(".Models", ".ModelsEF");
#>
using <#= hostMapNamespace #>;
namespace <#= hostNamespace #>
2-Entity.ttファイルが置き換えられました
namespace <#= code.EscapeNamespace(efHost.Namespace) #>
と
<#
var hostNamespace = code.EscapeNamespace(efHost.Namespace);
hostNamespace = hostNamespace.Replace(".Models", ".ModelsEF");
#>
namespace <#= hostNamespace #>
3-Mapping.ttファイルが置き換えられました
namespace <#= code.EscapeNamespace(efHost.Namespace) #>
と
<#
var hostMapNamespace = code.EscapeNamespace(efHost.Namespace);
hostMapNamespace = hostMapNamespace.Replace(".Models", ".ModelsEF");
#>
namespace <#= hostMapNamespace #>
つまり、特にModels名前空間でのプロジェクトの既存のクラスとの競合を回避するために、カスタムテンプレートでの名前空間の生成を多少変更しました。良いことは...それはうまくいく!