1

ユーザー登録用のアプリケーションを作成するタスクがあります。3種類のユーザー(プロフィール)があります

1. "Normal" user
2. "Company" user
3. "Company2" user - similar like 2. but with few additional fields..

すべてのユーザーは、電子メールとパスワード(ログインデータ)、役割、登録日などの特定の情報を共有します。したがって、EFコードファーストアプローチのみを使用して、このタイプのアプリのクラスを「設計」しようとしています。しかし、運がない。

次のテーブル(クラス)が必要ですか?

USER - all kind of users with all their Login data (email and password) and UserType
USERTYPE - list of all user types (1,2,3)
USER_DETAILS - details of normal user
COMPANY_DETAILS - details of company
COMPANY2_DETAILS -details of company2

私の問題は、USER_DETAILS、COMPANY_DETAILS、COMPANY2_DETAILSを使用してUSERテーブルを参照する方法です。あなたが私の問題を理解することを願っています:)

私のクラス(ユーザー管理とプロファイル)は、http://codefirstmembership.codeplex.com/の例のように実装されています。

前もって感謝します!

4

1 に答える 1

2

EntityFrameworkで通常の継承モデルを使用できます。

Userログインデータ(ただし、パスワードをDBに保存しないでください、ハッシュを使用してください-メンバーシップはすでにこれを行う必要があります)と他のユーザー情報を含む基本クラスを使用するだけでCompanyUser、継承する別のクラスを追加できますからUser、追加のプロパティが含まれています。最後にCompanyUser2(より良い名前が必要です)から継承できCompanyUserます。

これを適切に配置すると、EFがクラスをテーブルにマップする方法で使用できるさまざまなモデルがあります。

1.)階層ごとのテーブル

2.)タイプごとのテーブル

3.)コンクリートタイプごとの表

于 2011-09-21T14:59:52.573 に答える