1
我有4种不同的模型,我从视图中的网格中提取信息。此代码摘录是我的控制器的索引行动的一部分。每个 模型都有一个存储库,partRepository,parts_comboRepository,vendor_partRepository和manufacturer_partRepository,我使用这些存储库为我的连接抓取数据。ASP.Net MVC和存储库
var nss_part_combo =
from o in parts_comboRepository.FindAll_Parts_Combos()
join parts in partRepository.FindAll_Parts()
on o.FK_Parts_ID_PARTS equals parts.ID_PARTS into joined_parts
from parts in joined_parts.DefaultIfEmpty()
join vendor_parts in vendor_partRepository.FindAllVendor_Parts()
on o.FK_Vendor_Parts_ID_VENDOR_PARTS equals vendor_parts.ID_VENDOR_PARTS into joined_vendor_parts
from vendor_parts in joined_vendor_parts.DefaultIfEmpty()
join manufacturer_parts in manufacturer_partRepository.FindAllManufacturer_Parts()
on o.FK_Manufacturer_Parts_ID_MANUFACTURER_PARTS equals manufacturer_parts.ID_MANUFACTURER_PARTS into joined_manufacturer_parts
from manufacturer_parts in joined_manufacturer_parts.DefaultIfEmpty()
select new NSS.ViewModel.Part_ComboViewModel
{
...
};
return View(new GridModel(part_combo));
当我运行它时,出现有关具有不同上下文的错误。我通过在控制器的顶部声明一个实体并使用它来代替我的资源库对象来获取所有IEnumerables的连接,从而解决了问题。这是一个好方法吗?我觉得我已经偏离了我应该做的事情,并创建了一个黑客来解决我的问题。解决这个问题最好的做法是什么?
请参阅http://stackoverflow.com/search?q=objectcontext+lifetime了解如何管理ObjectContext生命周期的讨论。 – 2010-09-11 05:06:35
谢谢,这是有用的,不知道什么关键字来寻找描述我的问题,但这有帮助。 – mattnss 2010-09-21 00:09:39