2011-12-02 64 views
1

類我有一個ComplexType必須實現IList<T>background info here)。實體框架代碼優先和實現IList <T>

不幸的是,實體框架抱怨該接口

[NotMapped] 
public T this[int index] 

的要求(注意它的裝飾與NotMapped數據註解)的索引屬性。

我得到一個DbUpdateException在運行時用的內部異常

索引屬性不被支持。

如果我註釋到該類實現了IList<T>並註釋掉索引屬性,該類的實例將按預期持久化。

是否有某種複雜類型實現IList<T>要被實體框架代碼優先保存的方法?

+0

我將標籤更改爲EFv4.1,因爲EFv4.2只是4.1的bug修復,並且不需要單獨的標籤。 –

回答

1

實體框架不支持開放的泛型實體,我相信複雜類型也是如此。唯一的方法是定義從鏈接問題中顯示的特定類型派生自封閉泛型類型。

也有一些衆所周知的bug,映射類不能有索引器。