【问题标题】:Entity Framework CodeFirst Multiple type of usersEntity Framework Code First 多种类型的用户
【发布时间】:2011-09-21 23:10:58
【问题描述】:

我的任务是为用户注册构建应用程序。我有 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/ 示例。

提前谢谢你!

【问题讨论】:

    标签: entity-framework asp.net-membership ef-code-first user-profile user-roles


    【解决方案1】:

    您可以在实体框架中使用普通继承模型。

    我将只使用包含登录数据的基类User(请不要将密码存储在数据库中,使用哈希 - 会员资格应该已经为您完成了)和其他用户信息,然后您可以添加另一个类 CompanyUser,它继承自 User 并包含其他属性。最后CompanyUser2(需要更好的名字)可以继承自CompanyUser

    有了这个,您可以使用不同的模型来了解 EF 如何将您的类映射到表:

    1.) Table-per-Hierarchy

    2.) Table-per-Type

    3.) Table per Concrete Type

    【讨论】:

    • 正是我想要的 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2014-07-22
    相关资源
    最近更新 更多