使用每个层次结构的表可以设置基类的鉴别器



我正在使用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 使用"U"作为鉴别器。

试图避免从用户派生另一个类,因为用户已经满足了我的需求。但也许这是不可能的。

您可以为基本类型设置鉴别器值:

mb.Entity<User>().Map(m => m.Requires("UserType").HasValue("U"));

相关内容

  • 没有找到相关文章

最新更新