Entity Framework パワー ツールを使用して、既存のデータベースからコードをリバース エンジニアリングしています。データベースに複数のスキーマがありますが、dbo スキーマのみのクラスを生成したいと考えています。どうすればカスタマイズできますか
質問する
992 次
2 に答える
4
リバース エンジニアリング テンプレートを編集する必要があります。Entity Framework 6 に対して次のことを行いました。
Context.tt ではスキーマが現在利用できないため、不要なコードは手動で削除する必要があります。
Entity.tt と Mapping.tt では、ここでコードを変更する必要があります。
var efHost = (EfTextTemplateHost)Host;
var code = new CodeGenerationTools(this);
に
var efHost = (EfTextTemplateHost)Host;
if((string)efHost.TableSet.MetadataProperties["Schema"].Value == "dbo"){
var code = new CodeGenerationTools(this);
そして、これら 2 つのファイルの最後に閉じ括弧を配置します。
<#
}
#>
「dbo」を任意のものに変更します。
于 2013-10-17T22:21:37.920 に答える
1
T4 テンプレートを使用できます ([Entity Framework] メニュー > [リバース エンジニア テンプレートのカスタマイズ])。それらでスキーマをテストできます: if (efHost.TableSet.MetadataProperties["Schema"].Value == "Correct Schema") // 生成します
于 2013-07-03T14:37:57.557 に答える