好的,考慮到@ jlew的建議,我找到了一個workaroun d和是它點擊:
這就是:
首先我做的從下面的鏈接下載的自定義模板下的「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-在映射。TT文件替換
namespace <#= code.EscapeNamespace(efHost.Namespace) #>
與
<#
var hostMapNamespace = code.EscapeNamespace(efHost.Namespace);
hostMapNamespace = hostMapNamespace.Replace(".Models", ".ModelsEF");
#>
namespace <#= hostMapNamespace #>
嗯,總之,我已經有所改變命名空間一代自定義模板,從而避免尤其是在型號命名空間項目的任何現有類的任何衝突。好東西是...它的工作原理!