0

私たちのプロジェクトで現在取り組んでいる厄介な EDMX ブロブを取り除きたいと思っています。私たちのプロジェクトはデータベース ファーストであり、現在、ひどくバグのある EDM デザイナーを使用して EDMX ファイルを作成し、そこから T4 テンプレートを使用して DbContext および POCO エンティティを生成します。

プロジェクトが成熟するにつれて、データベース モデルとエンティティ モデルの間にほとんど違いがないことがわかりました。基本的には、1 対 1 のエンティティからテーブルへのマッピングであり、これが EF が最も好むモードのようです。ここからの唯一の逸脱は、4 つのエンティティ間で Table-per-Type 継承を 1 回使用していることです。これ自体は、優れた設計であることが証明されておらず、無視される可能性があります。

私の質問は、EDMX ファイルは必要ありません。データベース モデルから直接 DbContext とエンティティ クラスを作成できるはずです。それができる T4 テンプレートはありますか?

これを達成するための T4 テンプレートを提供する数年前の Oleg Sych の投稿を見つけましたが、出力は DbContext ではなく ObjectContext 用です。もちろん、ここで行われたことを強化することもできますが、誰かがすでにこれを機能させている場合、車輪を再発明したくありません.

助言がありますか?

4

1 に答える 1