Entity framework 将通用DBset实体传递给DbContext

Entity framework 将通用DBset实体传递给DbContext,entity-framework,generics,.net-core,dbcontext,dbset,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; } } 还有一个函数,用于获取要添加到上下文中的实体列表,如下所示 addEntityToDbContex

这是我的dbcontext

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

    //dbset 2
    public DbSet<Order> Orders { get; set; }
}
还有一个函数,用于获取要添加到上下文中的实体列表,如下所示

addEntityToDbContext(Customer)
addEntityToDbContext(Orders)
可能吗


我正在使用EF Core。

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

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

为什么需要这样做?@TanvirArjel因为我在项目中使用微服务,每个微服务都有自己的数据库,我想为每个微服务创建一个公共EF。DBSet已经是一个泛型类了。您要问的是DbContext类本身。微服务与您的要求无关,也与多个数据库无关。您可以在运行时更改上下文的连接字符串。@PanagiotisKanavos,但每个微服务都有其模型和数据库。这是我的问题:谢谢。您能给我一个示例吗?您能为问题增加一些清晰度吗?你到底在问什么还不完全清楚for@EhsanAkbar这是EF Core的内置功能。它不需要任何特殊处理。我强烈建议您在学习那些甚至懒得使用有效SSL证书的公司的“课程”时要小心。该站点充斥着流行语,“repository”类与困扰该站点的通用repository*反模式相同beginners@EhsanAkbar我还强烈建议你去参加一家声誉良好的培训公司的课程,比如Pluralsights或Wintellect。Pluralsight课程的作者是.NET世界中最著名的作家和博客作者之一。你可以通过微软同样免费的VisualStudioDevEssentials程序,3个月内免费访问他们的所有课程
    public virtual DbSet<TEntity> Set<TEntity>() where TEntity : class => 
(DbSet<TEntity>)((IDbSetCache)this).GetOrAddSet(DbContextDependencies.SetSource, typeof(TEntity));