【发布时间】:2011-04-11 21:26:04
【问题描述】:
我有一个基于规范化表的 POCO。我的问题是如何处理将这个未旋转/规范化的对象更改为非规范化/旋转对象?我是否需要创建另一个 POCO 作为旋转版本?如何处理?
假设标准化的 POCO 定义为:
客户表
CustomerId int
BestSeller bool
NumberOfOrders int
我想将其表示为
透视客户表
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();
}
}
【问题讨论】:
标签: c# linq entity-framework-4 poco