我正在開發一個EF5 Code First應用程序,並且到目前爲止事情一直進展順利,但我遇到了一些困難,而且我很希望有人可以提出解決方案。實體框架5:使用具體基類的Table-per-Type映射
基本上,我有一個基類和一些派生類,我想知道如何處理它們的映射。這裏是一個可笑的簡單例子:
[Table("Person")]
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
}
[Table("EmployeePerson")]
public class EmployeePerson : Person
{
public int HoursWorked { get; set; }
}
[Table("CustomerPerson")]
public class CustomerPerson : Person
{
public int DollarsSpent { get; set; }
}
到目前爲止,這是一個典型的表,每個類型的場景,除了順利基類是不抽象 - 它可能有一個Person
是誰不是EmployeePerson
或CustomerPerson
。我在EF中接受這個問題時遇到了一些麻煩,並且當我試圖通過ID加載這樣的實體時,由EF生成的醜陋查詢不返回任何行。
有沒有人實施過這樣的事情? TPT風格的映射是否總是要求基類是抽象的?我沒有找到任何相反的例子,但也沒有真正的確認。如果必須的話,我可以考慮一些醜陋的解決方法,但如果有的話我更喜歡更優雅的解決方案。
(一更順利。我正在對第三方數據庫,所以我不能對架構進行任何更改)
謝謝!
你是對的,我運行的簡化測試顯然不夠簡化 - 一個完全微不足道的例子按我希望的方式工作。現在要找出我在別處做什麼導致這...感謝您的幫助! – 2013-04-11 19:45:48