У меня есть объект Domain с именем User, а UserCreateViewModel. Automapper используется для отображения из ViewModel в User.
Все работает нормально. Когда сопоставление выполнено, я вижу, что объект домена пользователя имеет значения в UserId, CreatedOn и ModifiedOn соответственно, например
00000000-0000-0000-0000-000000000000
1/1/0001 12:00:00 AM
1/1/0001 12:00:00 AM
Это значения по умолчанию, когда я завожу Пользовательский объект. Это вызывает проблему, поскольку мой объект User не может создавать Guid и Dates из свойств Get.
Примечание. Я не хочу жестко задавать значения по умолчанию.
Существует ли чистый подход для решения этой проблемы, чтобы UserId, CreateOn и ModifedOn генерировали значения из свойств?
Я понимаю вашу проблему
UserCreateViewModel
public class UserCreateViewModel
{
public string UserName { get; set; }
public string Password { get; set; }
}
Пользователь
private Guid? _guid;
public Guid? UserId
{
get
{
return (_guid.HasValue) ? _guid.Value : Guid.NewGuid();
}
set
{
_guid = value;
}
}
public string UserName { get; set; }
public string Password { get; set; }
private DateTime? _createdOn;
public DateTime? CreatedOn
{
get
{
return (_createdOn.HasValue) ? _createdOn.Value : DateTime.Now;
}
set
{
_createdOn = value;
}
}
private DateTime? _modifiedOn;
public DateTime? ModifiedOn
{
get
{
return (_modifiedOn.HasValue) ? _modifiedOn.Value : DateTime.Now;
}
set
{
_modifiedOn = value;
}
}