Это, вероятно, слишком долго для комментария:
Хотя ответ Джимми правильно это может означает, что ваш проект не может быть столь же инкапсулированный, как это могло быть, так как вы будете иметь, чтобы выставить много государство. Возможно, поэтому есть комментарии вокруг «анемичных» моделей и «не подходят для цели».
Если вы сосредоточены на поведение, то вы можете иметь что-то, совершенно гипотетический, как следует, чтобы сделать ваш клиенту Gold клиент:
customer.MakeGold();
Однако, используя состояние вы бы сейчас выставить атрибуты, позвоните на карту Gold. Внутренне ваш клиент, возможно, проверил определенное другое состояние, чтобы определить действительность статуса Gold, тогда как срок действия чек теперь переведен из домена так, как Джимми говорит, что он уверен, что состояние правильное, прежде чем передать его в домен.
Это не столько проблема авто-картона, сколько проблема дизайна. Это также указывает на то, что ваша модель API/Интеграция может быть более ориентированной на данные.
С другой стороны, если сопоставление, скажем, значение команды в стиле объекты, которые передаются в домен может быть не так плохо, как это :)
// map my APIActivationDetails to Activate --- however automapper does this :)
var activate = AutoMapper.Map<Activate>().From(apiActivationDetails);
customer.Activate(activate);
Давай думать об этом ... это, кажется, что говорит Джимми: P
У вас нет. Automapper не предназначен для такого использования – MikeSW