将通用DBset实体传递到DbContext

时间:2019-05-28 09:39:29

标签: entity-framework generics .net-core dbcontext dbset

这是我的dbcontext

public partial class MyDbContext : DbContext
{
    //dbset 1
    public DbSet<Customer> Customers { get; set; }

    //dbset 2
    public DbSet<Order> Orders { get; set; }
}

我想通过Customerorder以外的MyDbContext传递模型,就像这样:

public partial class MyDbContext<T> : DbContext
{

    public DbSet<T> <T>{ get; set; }

}

还有一个获取要像这样添加到我的上下文中的实体列表的函数

addEntityToDbContext(Customer)
addEntityToDbContext(Orders)

有可能吗?

我正在使用EF Core。

1 个答案:

答案 0 :(得分:1)

我不确定您的问题是什么?但是DbContext已经内置了通用的DbSet方法吗?

    public virtual DbSet<TEntity> Set<TEntity>() where TEntity : class => 
(DbSet<TEntity>)((IDbSetCache)this).GetOrAddSet(DbContextDependencies.SetSource, typeof(TEntity));