Мне нужно конвертировать между этими двумя классами, и я хочу поддерживать СУХОЙ, но не нарушать Шаблон единой ответственности ...
public class Person
{
public string Name {get;set;}
public int ID {get;set;}
}
public class PersonEntity : TableServiceEntity
{
public string Name {get;set;}
public int ID {get;set;}
// Code to set PartitionKey
// Code to set RowKey
}
Подробнее
У меня есть несколько объектов Model в моем приложении ASP.NET MVC.Поскольку я работаю с хранилищем Azure, я вижу необходимость преобразования в объект ViewModel и AzureTableEntity и из него довольно часто.
Обычно я выполнял это левостороннее назначение переменных в моемконтроллер.
Q1
Помимо неявного / явного преобразования, должен ли этот код находиться в контроллере (x)
или в текстовом тексте (y)
?
Person <--> View <--> Controller.ConverPersonHere(x?) <--> StorageContext.ConvertPersonHere(y?) <--> AzurePersonTableEntity
Q2
Должен ли я сделать неявное или явное преобразование?
Q3
Какой объект должен содержатькод конверсии?
Обновление
Я также внедряю WCF в этом проекте и не уверен, как это повлияет на ваши рекомендации.Пожалуйста, смотрите также этот вопрос.