2016-09-19 1 views
1

Ich habe Zweifel über die Arbeit mit nicht zugeordneten POCO-Entitäten. Ich habe eine Entität, die Eigenschaften enthält (und diese Eigenschaften sind andere POCO-Klassen, die der Datenbank zugeordnet sind).Entity Framework, wie man mit nicht gemappten Entitäten arbeitet

Ich habe eine generische Repository bekam, wo dieses Repository eine generische Einheit empfängt, mit zu arbeiten:

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; 
    } 

}

Die Implementierung ist:

mit
public class CupomFiscalRepository : BaseRepository<CupomFiscalDetalhes> 
{ 
} 

Die nicht abgebildet Einheit Seine Eigenschaften werden unten beschrieben:

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 
} 

Da CupomFiscalDetalhes keine Tabelle hat, die zugeordnet werden muss, müssen alle POCO-Klassen in EntityFramework zugeordnet sein, damit sie mit ht funktionieren? Frage, weil ich nicht weiß, wie ich diese Daten mit dem generischen Repository in der Datenbank speichern werde.

Antwort

1

Wenn Sie CupomFiscalDetalhes beibehalten müssen, sollten Sie es zum Kontext hinzufügen. Wenn Sie CupomFiscalDetalhes nicht beibehalten müssen, sollte es IBaseRepository nicht implementieren und Sie sollten es als eine Ansicht von Daten betrachten, die über eine Controller-Klasse aufgefüllt werden.

+0

Danke für die Hilfe @robaudas also, sogar dass CupomFiscalDetalhes einige Eigenschaften hat (andere Klassen, die eine verwandte Tabelle haben), nur diese Klassen implementieren das IBaseRepository, um beibehalten zu werden, und CupomFiscalDetalhes wird eine Klasse sein, die "beitritt" der Haufen von Informationen, richtig? – Maturano

+0

Das klingt nach dem, was Sie versuchen zu tun. Einige Controller-Klassen durchsuchen die Repositorys nach den 3 verbundenen Entitäten und weisen sie dann den Klasseneigenschaften zu. – robaudas

Verwandte Themen