У нас есть транзакционная таблица Customer с несколькими таблицами поиска с внешними ключами.Мы хотим, чтобы таблица 3 соединилась и связала ViewModel с моделью и развернулась.Я слышал, что репозитории не должны иметь доступ к ViewModels.
(a) Каков надлежащий программный протокол для этого?Я пока не хочу использовать AutoMapper.Должен ли я создать объект доступа к данным или службу, и может ли кто-нибудь написать краткий пример для меня ниже?Должен ли я создать другую папку под названием Data Service в MVC?Я купил 3 книги MVC, и ни одна из них не обсуждает DTO или модели привязки <-> viewmodels.Спасибо,
Репозиторий:
void GetByCustomerTransactionId()
{
var result = from ct in CustomerTransaction
join pt in ProductType on pt.ProductTypeId equals ct.ProductTypeId
join ss in Status on s.StatusId equals ct.StatusId
select new all fields
}
Модели:
public class CustomerTransaction
{
public int CustomerTransactionId{ get; set; },
public int ProductTypeId {get; set; }, //joins to ProductTypeTable
public int StatusID {get; set; }, //joins to StatusTypeTable
public string DateOfPurchase{ get; set; },
public int PurchaseAmount { get; set; },
}
public class ProductType
{
public int ProductTypeId{ get; set; }
public string ProductName { get; set; },
public string ProductDescription { get; set; },
}
public class StatusType
{
public int StatusId{ get; set; }
public string StatusName{ get; set; },
public string Description{ get; set; },
}
ViewModel:
public class CustomerTransactionViewModel
{
public int CustomerTransactionId{ get; set; },
public string ProductName {get; set; }, //joins to ProductTypeTable
public string ProductDescription {get; set; },
public string StatusName {get; set; }, //joins to StatusTable
public string DateOfPurchase{ get; set; },
public int PurchaseAmount { get; set; },
}