Генерация значений по умолчанию из свойства, когда объект домена не поддерживается - PullRequest
1 голос
/ 02 декабря 2010

У меня есть объект 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;
    }
}

1 Ответ

1 голос
/ 02 декабря 2010

Взгляните на функции AutoMpper, созданные до и после. Это может помочь вам настроить присвоение значений по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...