2016-09-19 2 views
1

매핑 된 엔티티가 아닌 작업에 대해서는 의심의 여지가 있습니다. 속성이 포함 된 엔터티가 있으며이 속성은 데이터베이스에 매핑 된 다른 POCO 클래스입니다.엔티티 프레임 워크, 매핑되지 않은 엔티티와 작업하는 방법

public class BaseRepository<TEntity> : IBaseRepository<TEntity> where TEntity : class 
{ 
    internal readonly DbContext recuperadorContext; 
    internal readonly IDbSet<TEntity> dbSet; 

    public BaseRepository(DbContext context) 
    { 
     recuperadorContext = context; 
     dbSet = recuperadorContext.Set<TEntity>(); 
    } 

    public TEntity Adicionar(TEntity obj) 
    { 
     var objReturn = dbSet.Add(obj); 
     return objReturn; 
    } 

}

구현은 다음과 같습니다 :

나는이 저장소가 작동하는 일반적인 엔티티를 수신하는 일반 저장소를 가지고

public class CupomFiscalRepository : BaseRepository<CupomFiscalDetalhes> 
{ 
} 

매핑되지 엔티티와 그것의 속성은 다음과 같습니다 :

public class CupomFiscalDetalhes 
{ 
    public Movimento Movimento { get; set; } //POCO class mapped 
    public Cliente ClienteCRM { get; set; } //POCO class mapped 
    public Vendedor Vendedor { get; set; } //POCO class mapped 
} 

CupomFiscalDetalhes에는 매핑 할 테이블이 없으므로 EntityFramework에 매핑 된 모든 POCO 클래스를 ht와 함께 사용하도록 설정해야합니까? 일반 저장소를 사용하여 이러한 데이터를 데이터베이스에 저장하는 방법을 모르겠다 고 묻습니다.

답변

1

CupomFiscalDetalhes를 유지해야하는 경우 컨텍스트에 추가해야합니다. CupomFiscalDetalhes를 유지할 필요가없는 경우 IBaseRepository를 구현하면 안되며 컨트롤러 클래스를 통해 채워진 데이터 뷰로 간주해야합니다.

+0

도와 주셔서 감사합니다. @robaudas 그래서 CupomFiscalDetalhes에는 일부 속성 (관련 테이블이있는 다른 클래스)이 있습니다.이 클래스는 IBaseRepository를 구현하여 구현하고 CupomFiscalDetalhes는 "조인"하는 클래스입니다. 정보의 무리, 맞지? – Maturano

+0

그 소리는 당신이하려는 것처럼 들립니다. 일부 컨트롤러 클래스는 3 개의 관련 엔티티에 대한 리파지토리를 검색 한 다음 클래스 속성에 할당합니다. – robaudas

관련 문제