上传而不保留对派生类型的引用

时间:2010-09-15 11:21:37

标签: c# .net entity-framework polymorphism entity

我有一个名为Resource的类,它由一个名为ResourceMeta

的类继承

我需要将ResourceMetaResource转发,而不会认为它是ResourceMeta的类型。

当我尝试使用实体框架保存我的对象时,它会抱怨映射不存在,这是正确的,因为它会尝试保存ResourceMeta而不是Resource

我已尝试(Resource)resourceMeta但是仍保留ResourceMeta类型,只会限制Resource可用的属性。

3 个答案:

答案 0 :(得分:2)

这是不可能的,你不能改变对象的实际类型。

要从ResourceMeta对象获取Resource对象,必须使用ResourceMeta对象中的数据创建新的Resource对象。

答案 1 :(得分:0)

简单来说,你不可能创建一个新的Resource实例然后返回

答案 2 :(得分:0)

继承是ResourceMetaResource实例之间关联的正确表示。如果没有,您可以支持组合而不是继承,这样当您想要保存资源实例时,您可以resourceMetaInstance.Resource