我有一個不同程序集的子類與其基類。父母是用於EF代碼優先的POCO類。實體框架代碼第一個和多個程序集
當我試圖繼承的類的實例添加到數據庫中,我得到InvalidOperationException異常:「對象映射找不到與身份‘Foo.Bar.MyInheritedClass’類型」。
它工作正常,如果子類是在同一組件作爲基類。
在普通的EF solution seems to be中調用ObjectContext.MetadataWorkspace.LoadFromAssembly(assembly)。但我無法弄清楚這與Code First有何關係。
有什麼建議嗎?
我使用實體框架4.1 RC。
爲什麼你仍然不能調用該函數? 我沒有執行過檢查,但基於一些快速搜索,您應該能夠使用'dbContext.MetadatWorkspace'從'DbContext'中訪問'MetadataWorkspace'。這不行嗎? – 2011-03-21 14:59:08
是的,您可以將DbContext轉換爲IObjectContextAdapter並檢索其基礎ObjectContext(請參閱:http://weblogs.asp.net/jgalloway/archive/2011/01/21/fix-wcf-data-service-with-entity-framework -code先的DbContext-沒有按叔接受-updates.aspx)。 – 2011-03-23 10:01:05
這讓我嘗試MetadataWorkspace.LoadFromAssembly(),但它沒有解決我的問題:( – 2011-03-23 10:01:56