繁体   English   中英

实体框架,如何处理未映射的实体

[英]Entity Framework, how to work with not mapped entities

我对使用未映射的 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 没有要映射的表,我是否需要在 EntityFramework 中映射所有 POCO 类才能使用 ht? 询问是因为我不知道如何使用通用存储库将这些数据保存到数据库中。

如果您需要保留 CupomFiscalDetalhes,则应将其添加到上下文中。 如果您不需要保留 CupomFiscalDetalhes,那么它不应该实现 IBaseRepository,您应该将其视为通过控制器类填充的数据视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM