У меня есть POCO, основанный на нормализованной таблице.Мой вопрос заключается в том, как мне справиться с изменением этого не повернутого / нормализованного объекта на ненормализованный / повернутый объект?Нужно ли мне создавать еще одно POCO, которое является поворотной версией?Как с этим справиться?
Давайте представим, что нормализованный POCO определен как:
Таблица клиентов
CustomerId int
BestSeller bool
NumberOfOrders int
, и я хочу представить этоas
Таблица клиентов Pivot
CustomerId int
BestSellerOrders int
NotBestSellerOrders int
ОБНОВЛЕНИЕ
Это работает, но не уверен, что мне нравится:
public void UpdateCustomer(CustomerPivot customerPivot)
{
using (var context = DataObjectFactory.CreateContext())
{
// find all the rows to update (2)
var rowsToUpdate = context.Customer
.Where(w => w.CustomerId == customerPivot.CustomerId).ToList();
var first = rowsToUpdate.Where(w => w.BestSeller == true).SingleOrDefault();
var second = rowsToUpdate.Where(w => w.BestSeller == false).SingleOrDefault();
first.NumberOfOrders = (int)customerPivot.BestSellerOrders;
second.NumberOfOrders = (int)customerPivot.NotBestSellerOrders;
context.Customer.ApplyChanges(first);
context.Customer.ApplyChanges(second);
context.SaveChanges();
}
}