2012-03-22 11 views
0

私は基本エンティティUserBase(UserId、Username)を持っています。私は子供のエンティティSecurityUser(パスワード)を作成しました。私は別の子エンティティPortalUser(名前、姓)を持っています。EF 4.3既存のベースを使用した継承

私はSecurityUserの新しいエンティティを作成し、コンテキストに追加してsavechanges.UserIdを1にします。 UserBaseテーブルとSecurityUserテーブルの両方に1行追加します。

同じ基本ユーザーエンティティ(UserId = 1)に新しいPortalUserを追加するにはどうすればよいですか?

+0

あなたは 'Id'を複製できません – Eranga

答えて

0

できません。それが継承の原理です。 Userは​​またはPortalUserのいずれかになります。 Userがセキュリティとポータルの両方のユーザーである必要がある場合は、UserRoleのような通常のユーザー関係を使用する必要があります。

+0

解決方法はユーザーのナビゲーションプロパティを使用することだけですか? – ufukcoban

+0

はい、これは、ユーザーが複数の役割を持つことができたり、役割を変更したりできる状況では、正しい解決策です。 –

+0

@LadislavMrnka:待ち行列、部分的に完了、完了などのタスクの状態を表す基本クラスの「タスク」と派生クラスに対処することは可能ですか?DBの観点から考えると、グループ化テーブルを使用します。要するに、基本型は2つ以上の派生型ではありませんが、一方から他方に切り替える必要があります。 –

関連する問題