我使用的是EF 4.3和TPH。
我的基类是User
,我还有一个类Customer
,它来自User
,还有一些额外的字段。
在我的数据库中,我有一个名为UserType
的列,我将其用作鉴别器。我希望客户=' C'和用户=' U'
我想"常规"应用的用户属于User
类型,客户属于Customer
类型。它们都以相同的方式登录,除了几个字段之外,它们的主要区别在于权限,因此方便我以这种方式对其进行建模。
我可以通过设置我的上下文来使Customer
正常工作:
mb.Entity<User>().Map<Customer>(m=>m.Requires("UserType").HasValue("C"));
我的问题是,如果我想创建一个常规User
实体,我怎么能告诉EF使用&#34; U&#34;作为鉴别者。
我试图避免从User派生另一个类,因为User已经满足了我的需求。但也许这是不可能的。
答案 0 :(得分:1)
您可以为基本类型设置鉴别器值:
mb.Entity<User>().Map(m => m.Requires("UserType").HasValue("U"));