使用两个对象上下文?

时间:2013-05-17 14:51:41

标签: c# .net entity-framework

我创建了两个edmx文件并且必须使用上下文。

执行以下操作是否有问题:

public DataManager
{
  protected ObjectContext _context;

  public DataManager(ObjectContext context)
  {
     _context = context;
  }
}

或者是否有一个超负荷的建设者更好:

public DataManager
{
  protected db1entities _context;
  protected db2entities _context2;

  public DataManager(db2entities context)
  {
     _context = context;
  }

  public DataManager(db2entities context)
  {
     _context2 = context;
  }
}

我注意到如果我是第一种方式,那么上下文不知道我的实体,如果我明确指定上下文那么它

1 个答案:

答案 0 :(得分:2)

我不完全确定您要完成的任务,但您也可以使用泛型(http://msdn.microsoft.com/en-us/library/512aeb7t(v=vs.110).aspx)来完成此操作。有点像...

public class DataManager<T> where T:ObjectContext
{
  protected T _context;

  public DataManager(T context)
  {
     _context = context;
  }
}

然后......

DataManager<db1Entities> DataManager1;
DataManager<db2Entities> DataManager2;