Мелкая копия отслеживаемой сущности - PullRequest
1 голос
/ 24 ноября 2011

Я имею дело с Fluent NHibernate и версиями объектов.

Что мне действительно нужно, так это создать поверхностную копию объекта.Я попытался использовать MemberwiseClone (), что кажется правильным, но, очевидно, это также клонирует идентификатор.Свободный NHibernate будет жаловаться, когда клонированный объект фиксируется в базе данных, что уже существует объект с таким идентификатором.

Как мне сказать автомату назначить новый идентификатор клонированному объекту?

С уважением, Эрик

1 Ответ

2 голосов
/ 25 ноября 2011

1) clone = MemberwiseClone(); clone.Id = 0;

или

2) Реализация object ICloneable.Clone() и для удобства MyType Clone()

Я бы предпочел 2)

...