0

EF4.3とTPHを使用しています。

私の基本クラスはであり、いくつかの追加フィールドから派生しUserたクラスもあります。CustomerUser

私のデータベースには、ディスクリUserTypeミネーターとして使用するという列があります。Customerを='C'、Userを='U'にします

アプリの「通常の」ユーザーをタイプUserにし、顧客をタイプにしたいCustomer。どちらも同じ方法でログインします。いくつかのフィールドを除いて、主な違いはアクセス許可です。そのため、この方法でモデル化すると便利です。

Customerのようにコンテキストを設定することで、正常に動作するようになります。

mb.Entity<User>().Map<Customer>(m=>m.Requires("UserType").HasValue("C"));

私の質問は、通常のエンティティを作成したい場合User、EFに「U」を識別子として使用するように指示するにはどうすればよいですか。

Userはすでに私のニーズに合っているので、Userから別のクラスを派生させないようにしています。しかし、それは不可能かもしれません。

4

1 に答える 1

1

基本タイプの識別子の値を設定できます。

mb.Entity<User>().Map(m => m.Requires("UserType").HasValue("U"));
于 2012-04-15T12:57:30.157 に答える