2010-04-28 52 views
1

我正在使用L2S和继承模型将人员映射到特定角色。Linq to SQL继承和Table per Class - 多角色所需的方法

盖伊伯斯坦的优秀博客文章介绍了如何做到这一点:

http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/01/linq-to-sql-inheritance.aspx

不过,我有当一个人有多个角色的特定情况。例如'Jane Doe'是联系人和程序员。 在这个模型中,她需要People表中的两行,一个是Contact(PersonType = 1),另一个是Programmer(PersonType = 3)。

如果她更改了她的姓氏,并且该更新发生在她作为联系人的角色中,则需要更改“Jane Doe”的所有实例以反映所有地方的姓名更改。

什么样的最佳方法(改进的数据结构)可用于更改中的姓氏全部角色?最后,我希望避免覆盖每个通用表单更新事件以包含所有实例,但这可能是唯一的方法。任何建议或方法表示赞赏。

回答

1

从我能向你提供你的数据库中的信息告诉应该有三个表:

  1. 人民
  2. 程序员
  3. 联系

程序员和联系人应该有一个外商关键Person_fK。

在对象模型ProgrammerContact中每个都具有Person属性。