2010-04-28 44 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屬性。