시리즈, 패밀리 및 브랜드 엔티티의 제품 엔티티 및 관련 엔티티가있는 Entity Framework 코드를 리팩터링하려고합니다. 시리즈, 패밀리 및 브랜드 엔티티는 모두 ID 및 텍스트와 동일한 기본 구조를가집니다. 재산.어떻게이 2 가지 방법을 1로 리팩토링 할 수 있습니까?
아래 두 메서드는 매우 유사하며 단일 메서드로 리팩터링 할 수 있어야하지만 쿼리하는 엔터티를 동적으로 전달하는 방법을 잘 모르겠습니다. 이 경우 db.ProductFamilies 또는 db.ProductSeriesSet을 전달할 수 있어야합니다. 이 아이디어를 어떻게 만드는가?
감사합니다. db.ProductFamilies 및 db.ProductSeriesSet이 같은 기본 클래스에서 상속하는 경우
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);
}
}
ProductSeriesSet 또는 ProductFamilies에서 쿼리하는 from 절에서 발견 된 차이점을 처리하는 방법은 무엇입니까? –
나는 네가 네가 내 것보다 낫다는 것을 알지 못했다. –