1

EF 4.0.edmxファイルを「継承」しました。現在、特定のプロパティ名と列名は、生成された C# および SQL スキーマで同一です。それ以来、私は EF 4.1 にアップグレードし、コード生成項目を変更して、DbContextではなく を生成しましたObjectContext

私がやりたいことは、列名が異なる可能性がある SQL スキーマを生成することです。たとえば、;のIdプロパティ/列があるとします。クラス (T4 テンプレート生成を介して)Productと列(ダイアグラムから [モデルからデータベースを生成... ] コンテキスト メニュー エントリを介して) を生成し、コードベースの流暢な構成機能を使用して、二通。IdProductIdEntityTypeConfiguration<T>.HasColumnName()

これを行うことはできますか、それとも合理的な代替手段はありますか? 4.1 を使用してコードでこれをすべて実行できることはわかっていますが、この「移行的な」アプローチが可能かどうか疑問に思っています。

4

1 に答える 1

0

完全なコードファーストを支持してこれを放棄しましたが、それを行う方法があると思います:

  1. モデルでは、列名を使用します。
  2. から SQL を生成します.edmx
  3. T4 テンプレートで、ある種のマッピング ファイル (csv など) から読み取り、ロジックを適用して、必要に応じて C# クラスを生成し、HasColumnName呼び出しを生成します。

これは機能するはずですが、適切なテンプレートを作成するには、私が望んでいるよりも多くの労力が必要です。

于 2011-07-06T20:48:00.710 に答える