0

我创建了两个 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;
  }
}

我注意到如果我以第一种方式执行此操作,那么上下文不知道我的实体,就像我明确指定上下文一样

4

1 回答 1

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;
于 2013-05-17T15:02:05.870 回答