【发布时间】:2010-10-16 01:40:05
【问题描述】:
我正在尝试重构一些实体框架代码,其中我有一个产品实体和产品系列、系列、品牌等的相关实体。系列、系列和品牌实体都具有相同的基本结构,带有一个 Id 和文本属性。
下面的两种方法非常相似,应该可以重构为一个方法,但是我不确定如何动态传入我正在查询的实体。在这种情况下,我需要能够传入 db.ProductFamilies 或 db.ProductSeriesSet。任何想法如何使这 2 变为 1?
谢谢!
public DTOs.ProductCollection GetFamily(int id)
{
using (Entities db = new Entities())
{
var fam = (from collection in db.ProductFamilies.Include("Product")
.Include("Product.Stuff1")
.Include("Product.Stuff2")
where collection.Id == id
select collection).FirstOrDefault();
return ProductCollectionEFToProductCollectionDTO(fam, true);
}
}
public DTOs.ProductCollection GetSeries(int id)
{
using (Entities db = new Entities())
{
var ser = (from collection in db.ProductSeriesSet.Include("Product")
.Include("Product.Stuff1")
.Include("Product.Stuff2")
where collection.Id == id
select collection).FirstOrDefault();
return ProductCollectionEFToProductCollectionDTO(ser, true);
}
}
【问题讨论】:
标签: c# asp.net entity-framework .net-3.5 refactoring