У меня есть таблица базы данных со многими справочными таблицами:
OrderType
ShippingType
etc.
Таблица «Мой заказ» ссылается на каждую из этих таблиц:
Order
OrderID
OrderTypeID
ShippingTypeID
Я использую Entity Framework в качестве слоя доступа к данным. У меня есть страница, на которой должна отображаться информация для заказа. Я изо всех сил пытаюсь найти лучший / правильный способ использовать эти объекты.
На моей странице должны отображаться такие данные:
Заказ № 1000000
Тип доставки: UPS
Тип заказа: Онлайн
И т. Д. Тип: и т. Д.
Лучше ли создать представление в базе данных, которое возвращает нужные мне данные, а затем добавить их в мою модель сущности и просто использовать это напрямую, чтобы мне не приходилось записывать соединения в моих запросах? Или лучше создать промежуточный класс примерно так:
class OrderView
{
public int OrderNumber { get; set; }
public string OrderType { get; set; }
public string ShippingType { get; set; }
}
var order = from o in db.Orders
join ot in db.OrderTypes on o.OrderTypeID equals ot.OrderTypeID
join st in db.ShippingTypes on o.ShippingTypeID equals st.ShippingTypeID
select new OrderView
{
OrderNumber = o.OrderNumber,
ShippingType = st.Description,
OrderType = ot.Description
};
Какой способ лучше?