В DDD объект домена не заботится о его постоянстве. В идеале не должно быть метода Save()
.
Ваш репозиторий будет иметь такой Save
метод, который принимает экземпляр сущности в параметре:
public class PersonRepository
{
//...
public void Save(Person person)
{
this.dataContext.Save(person);
}
//...
}
В зависимости от вашего стека ORM будет обрабатывать сохранение объекта, или вы закончите, создав запрос на сохранение человека, или вы заполните параметры хранимой процедуры значениями вашего экземпляра и т. Д.
Если я правильно понял, что вы сделали, может потребоваться переместить логику персистентности, которую вы поместили в доменные объекты в другом месте, возможно, в репозитории или в DAL, используемый вашими репозиториями.