实体框架,如何与未映射的实体工作
本文关键字:实体 映射 工作 框架 | 更新日期: 2023-09-27 18:07:55
我对使用未映射的POCO实体有疑问。我有一个包含属性的实体(这些属性是映射到数据库的其他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没有一个表要映射,我需要有所有的POCO类映射在EntityFramework工作?因为我不知道如何用通用存储库将这些数据保存到数据库
如果您需要持久化CupomFiscalDetalhes,那么您应该将其添加到上下文中。如果你不需要持久化CupomFiscalDetalhes,那么它就不应该实现IBaseRepository,你应该把它看作一个通过控制器类填充的数据视图。