Обновление без сохранения ссылки на производный тип - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть класс с именем Resource, это наследуется классом с именем ResourceMeta

Мне нужно увеличить ResourceMeta до Resource, не думая, что это тип ResourceMeta.

Когда я пытаюсь сохранить свой объект, используя сущностную структуру, он будет жаловаться на несуществующие отображения, и это правильно, потому что он будет пытаться сохранить ResourceMeta вместо Resource.

Я пробовал (Resource)resourceMeta, однако это все еще сохраняет тип ResourceMeta, только ограничивает доступные свойства Resource.

Ответы [ 3 ]

2 голосов
/ 15 сентября 2010

Это невозможно, вы не можете изменить фактический тип объекта.

Чтобы получить объект Resource из объекта ResourceMeta, необходимо создать новый объект Resource, используя данные из объекта ResourceMeta.

0 голосов
/ 15 сентября 2010

Является ли наследование правильным представлением ассоциации между ResourceMeta и Resource экземплярами. Если нет, вы можете предпочесть композицию вместо наследования, и таким образом, когда вы хотите сохранить экземпляр ресурса, вы можете просто сделать resourceMetaInstance.Resource.

0 голосов
/ 15 сентября 2010

В простых словах это невозможно, вам нужно создать новый экземпляр Resource, а затем вернуть

...