2011-12-02 112 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,映射类不能有索引器。