Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架,如何使用未映射的实体_C#_Entity Framework_Generics - Fatal编程技术网

C# 实体框架,如何使用未映射的实体

C# 实体框架,如何使用未映射的实体,c#,entity-framework,generics,C#,Entity Framework,Generics,我对使用未映射的POCO实体有疑问。 我有一个包含属性的实体(该属性是映射到数据库的其他POCO类) 我有一个通用存储库,该存储库接收要使用的通用实体: public class BaseRepository<TEntity> : IBaseRepository<TEntity> where TEntity : class { internal readonly DbContext recuperadorContext; internal readonly

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

如果需要持久化CupomFiscalDetalhes,则应将其添加到上下文中。
如果你不需要坚持CupOfFracCaldTales,那么它就不应该实现IBaseRepository,你应该把它看作是通过控制器类填充的数据视图。

谢谢帮助[RabaUdas ],即使CupomFiscalDetalhes有一些属性(其他类有相关表),只有那些类将实现要持久化的IBaseRepository,而CupomFiscalDetalhes将是一个“连接”大量信息的类,对吗?听起来像是你正在尝试做的。某些控制器类将在存储库中搜索3个相关实体,然后将它们分配给类属性。
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
}