1

とにかく、Entity Framework ModelFirstを使用してT4によって生成されたファイルの名前を変更できることはありますか?

私は出力拡張子をこれに変更しようとしました:

<#@ output extension=".Generated.cs"#>

これにより、Model1.csファイルの名前がMode1.Generated.csに変更されましたが、すべてのエンティティは、category.cs、Issue.csなどの名前のファイルに残っています。必要なのは、エンティティクラスの名前がまだ残っていることです。

Category
Issue
..

ただし、名前付けパターンに従ったファイルが含まれています。

Category.Generated.cs
Issue.Generated.cs
...
4

1 に答える 1

2

出力ディレクティブを設定すると、テンプレートによって生成されたメインファイルのみが構成されます。デフォルトのカスタムツールを使用したT4テンプレートは、単一のファイルのみを生成します。これらのEFテンプレートは、独自に複数のファイル生成を処理するため、T4コードにアクセスして、次のようなスニペットを検索する必要があります。

// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(entity.Name + ".cs");
    ...

foreach (ComplexType complex in ItemCollection.GetItems<ComplexType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(complex.Name + ".cs");

必要に応じて、開始ファイルの名前を変更します。

于 2011-09-20T09:06:13.693 に答える