【发布时间】:2014-05-30 16:10:58
【问题描述】:
我最近正在开发一个需要 2 种用户类型的应用程序。医生和普通用户。它们共享一些属性(例如用户名、密码、名字、姓氏、性别等)。
但是医生还需要一些普通用户没有的其他属性。例如,Physicians 可能具有 Specialty 和 WorkingPlace。我发现我应该在实体框架中使用 Table Per Type Inheritance (TPT)。我创建了一个名为 People 的抽象基类,还创建了两个名为(RegisteredUser 和 Phisycian)的子类,继承自 People 抽象类。
我还发现 ASP.NET 中默认的 Membership Provider 不适合我的需要。所以我开发了一个 CustomMembershipProvider 类,它现在可以在实体框架中使用 Table per Type 继承。
但我认为使用 Roles 而不是 Table Per Type 继承会更好。所以我想更改我的应用程序以使用角色。但问题是我怎样才能为医生和普通用户处理不同的属性?我需要一个可以处理多个用户角色的多个配置文件字段的解决方案。例如,如果用户是医师角色,他应该具有 Specialty 和 WorkingPlace 属性。
谁能帮帮我?
【问题讨论】:
标签: asp.net sql-server database entity-framework