我在我的數據模型中實現了一些每種類型的表繼承(基本上有一個BaseEntity
類型,包含我的項目的所有基本信息和從BaseEntity
項目繼承的Employer
類型)。一切似乎設置正確,當使用實體(通過ADO.net數據服務或通過Linq實體),我可以看到Employer
類型,似乎沒有問題。當我創建一個新的Employer
實體並嘗試保存它時,問題就開始了。無法保存實體框架繼承的類型
在似乎不是.AddToEmployer
項目(僅限於和AddObject
或AddToBaseEntity
)的上下文中。
如果我使用AddObject("Employer", NewEmployer)
我得到和錯誤消息:
的EntitySet的名稱「DataEntities.Employer」找不到。
如果我使用AddToBaseEntity(NewEmployer)
我得到一個錯誤信息:
無法確定相關的操作有效的排序。由於外鍵約束可能存在依賴關係,所以模型需求會產生生成的值。
我錯過了設置繼承的步驟嗎?有沒有一些特定的方法來保存被繼承的對象?我究竟做錯了什麼?我認爲基本問題是我應該有一個AddToEmployer
,我需要做些什麼才能讓它暴露出來?看起來很奇怪,因爲我可以在客戶端看到Employer類型,並且可以執行諸如以下操作,這似乎很奇怪:
var NewEmployer = new Employer()
- 這似乎表明我可以看到Employer類型正常。
作爲一個說明,我忘了提及 - 實現IDisposable使這真的很好。 – JohnMetta 2010-12-23 20:16:39