Допустим, у меня есть концепция ToDoItemModel
, как показано ниже:
public class ToDoItemModel
{
public int Id { get; set; }
public DateTime DateAdded { get; set; }
public string Title { get; set; }
}
Это будет мой объект DTO. Мне также нужно иметь возможность вызывать несколько методов для ToDoItem
, например TransformTitle()
или перезаписанного свойства ToString()
:
public class ToDoItem
{
public int Id { get; set; }
public DateTime DateAdded { get; set; }
public string Title { get; set; }
public void TransformTitle(){
this.Title = TranformationLogic();
}
public override string ToString()
{
return this.Title;
}
}
Я планирую использовать ToDoItemModel
в качестве DTO в контроллере (когда информация отправляется с клиента. ToDoItem
будет использоваться для запуска некоторой логики c данных перед сохранением в БД.
Однако мы получили дублирование происходит между моделью и объектом Domain (с точки зрения их свойств publi c). Это не кажется правильным. Каков наилучший способ устранения этого дублирования? Должна ли модель быть каким-либо образом передана в ToDoItem
?