その EDMX の背後にある .tt コード生成テンプレートにアクセスできる場合は、次のように、エンティティごとに新しいファイルを開始するように設定できます。
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection))
{
fileManager.StartNewFile(entity.Name + ".cs");
BeginNamespace(code);
#>
(rest of class generation code here...)
それfileManager
が次のように作成される場所:
var fileManager = EntityFrameworkTemplateFileManager.Create(this);
BeginNamespace
テンプレートのさらに下にある必要があります。見逃している場合は、次のようになります。
public void BeginNamespace(CodeGenerationTools code)
{
var codeNamespace = code.VsNamespaceSuggestion();
if (!String.IsNullOrEmpty(codeNamespace))
{
#>
namespace <#=code.EscapeNamespace(codeNamespace)#>
{
<#+
PushIndent(" ");
}
}
public void EndNamespace(CodeGenerationTools code)
{
if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion()))
{
PopIndent();
#>
}
<#+
}
}
参考までに、これは標準の EF5 DbContext ジェネレーターからのもので、こちらにあります。