2016-09-19 5 views
1

У меня есть сомнение в работе с объектами, не привязанными к POCO. У меня есть Entity, который содержит свойства (и это свойства других классов POCO, которые отображаются в базе данных).Entity Framework, как работать с неотображаемыми объектами

У меня есть общий репозиторий, где это хранилище получает общий объект для работы с:

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 нет таблицы для сопоставления, мне нужно, чтобы все классы POCO, отображаемые в EntityFramework, работали с ht? Запрашиваю, потому что я не знаю, как я собираюсь сохранить эти данные в базе данных с общим хранилищем.

ответ

1

Если вам необходимо сохранить CupomFiscalDetalhes, то вы должны добавить его в контекст. Если вам не нужно упорствовать в CupomFiscalDetalhes, тогда он не должен реализовывать IBaseRepository, и вы должны рассматривать его как представление данных, заполненных с помощью класса контроллера.

+0

Спасибо за помощь @robaudas, так что даже у CupomFiscalDetalhes есть некоторые свойства (другие классы, у которых есть связанная таблица), только те классы собираются реализовать IBaseRepository, которые будут сохранены, а CupomFiscalDetalhes будет классом, который «присоединяется», куча информации, не так ли? – Maturano

+0

Это похоже на то, что вы пытаетесь сделать. Некоторые классы контроллера будут искать репозитории для трех связанных объектов, а затем назначают их свойствам класса. – robaudas

Смежные вопросы