EF 4에 일반 저장소를 작성하려고합니다. 그러나 코드가 좋지 않습니다. ExpressionEntities가 GENERIC이 아니기 때문입니다.EF4에서 생성자에 일반 엔터티 이름을 쓰는 방법은 무엇입니까?
public class DataRepository<T> : IRepository<T> where T : class
{
private GetGenericEntityCONTEXT _context;
public DataRepository()
{
}
public DataRepository(GetGenericEntityCONTEXT context)
{
_context = context;
}
}
내 엔티티를 글로벌하지 ExpressionsEntities 때문에 : ExpressionsEntities1, ExpressionsEntities 2, ExpressionsEntities 3 ETX는 ... 내가 필요 다음에
public class DataRepository<T> : IRepository<T> where T : class
{
private ExpressionsEntities _context;
public DataRepository()
{
}
public DataRepository(ExpressionsEntities context)
{
_context = context;
}
}
:
나는이 코드를 변환 할 쓰기 엔티티 가져 오기 예 :
public class DataRepository<T> : IRepository<T> where T : class
{
private Entity _context;
public DataRepository()
{
}
public DataRepository(Entity context)
{
_context = context;
}
public class Main
{
main()
{
new DataRepository(ExpressionEntities)
}
}
}
위의 코드를 참조하십시오. 내 코드는 generic이지만 ExpressionsEntities는 위 코드에 따라 일반이 아닙니다. 모든 항목을 작성해야합니다. – Penguen
@Phsika - "ExpressionEntities"는 데이터 컨텍스트입니까? 나는 추측을하고 예라고 말하고 대답을 업데이트 할 것입니다. – RPM1984
아니요, 엔티티마다 저장소가 필요하지 않습니다. 집계 루트 * 당 저장소 *가 있어야합니다.각 집계 루트에 대한 인터페이스를 만들고 DataRepository 또는 특정 리포지토리 (DataRepository 에서 파생되므로 인터페이스 계약을 충족 함)를 주입합니다. 일반적인 저장소의 요점은 구현 횟수를 줄이는 것입니다. –
RPM1984