C# 工厂模式返回需要其他已创建对象的对象

C# 工厂模式返回需要其他已创建对象的对象,c#,repository,factory,C#,Repository,Factory,当我的工厂对象将返回的具体对象依赖于另一个已经创建的对象时,我如何处理这种情况 为了让我的存储库工作,我需要一个连接对象的实例。我不希望每次调用存储库时都创建一个新的连接对象。我如何处理这种情况?我是否将连接对象传递到RepositoryFactory IRepository<User> userRepository = RepositoryFactory.GetRepository("user"); public class UserRepository : IReposito

当我的工厂对象将返回的具体对象依赖于另一个已经创建的对象时,我如何处理这种情况

为了让我的存储库工作,我需要一个连接对象的实例。我不希望每次调用存储库时都创建一个新的连接对象。我如何处理这种情况?我是否将连接对象传递到RepositoryFactory

IRepository<User> userRepository = RepositoryFactory.GetRepository("user");

 public class UserRepository : IRepository<User>
 {
    public DbConnection Connection { get; set; }

    public UserRepository(DbConnection connection)
    {
        this.Connection = connection;
    }
 }
IRepository userRepository=RepositoryFactory.GetRepository(“用户”);
公共类用户存储库:IRepository
{
公共数据库连接{get;set;}
公共用户存储库(DbConnection)
{
这个连接=连接;
}
}

在这个特定示例中,最好每次启动一个新连接,在完成使用工作单元方法使用资源时关闭并处理。

在MEF中,您应该在factory对象上放置一个属性,该属性导入连接对象。然后,工厂对象可以将该连接对象作为构造函数参数提供给它创建的实例


连接对象可以由MEF composition构造,也可以由composition容器提供(作为参数传递到container.ComposeParts中)。

如果使用EF,是否知道
DataSet
DbSet
已经实现了?