EF4.3とTPHを使用しています。
私の基本クラスはであり、いくつかの追加フィールドから派生しUser
たクラスもあります。Customer
User
私のデータベースには、ディスクリUserType
ミネーターとして使用するという列があります。Customerを='C'、Userを='U'にします
アプリの「通常の」ユーザーをタイプUser
にし、顧客をタイプにしたいCustomer
。どちらも同じ方法でログインします。いくつかのフィールドを除いて、主な違いはアクセス許可です。そのため、この方法でモデル化すると便利です。
次Customer
のようにコンテキストを設定することで、正常に動作するようになります。
mb.Entity<User>().Map<Customer>(m=>m.Requires("UserType").HasValue("C"));
私の質問は、通常のエンティティを作成したい場合User
、EFに「U」を識別子として使用するように指示するにはどうすればよいですか。
Userはすでに私のニーズに合っているので、Userから別のクラスを派生させないようにしています。しかし、それは不可能かもしれません。