0

我正在使用“<strong>ADO.NET Unit Testable Repository Generator”(在此处描述)来生成实体类。除了数据库对象的类之外,此 T4 模板会自动生成以下类:

  1. < MyEntities >.cs - 功能具体的对象上下文
  2. <我的实体> BaseRepositoryTest.cs
  3. < MyEntities >Mock.cs - 实现上下文接口的具体模拟上下文对象。
  4. <我的实体> Mock.ObjectSet.cs
  5. < MyModelRepository > .Context.cs
  6. <我的实体> PartialRespository.cs
  7. I< MyEntities >.cs - 专用对象上下文的接口。

我不完全确定其中一些课程的用途。

我正在使用一个执行所有数据库访问/更新操作的管理器类。

// Contains all Methods that access the database 
public class DataManager
{
    private IMyEntities _context;

    public DataManager()
        : this(new MyEntities())
    {
    }

    public bool AddOrder(Order order)
    {
      _context.Orders.AddObject(order);
      _context.SaveChanges();
    }
  ...
  }

我想在调用时检查并发异常_context.SaveChanges()。理想情况下,我想_context.Refresh()在并发问题的情况下打电话。但是,自动生成的 ObjectContext 类IMyEntities确实有一个类似的方法ObjectContext.Refresh()

我究竟做错了什么?如何调用 Refresh()?

4

1 回答 1

0

AFAIK 这不能完成,因为IMyEntities不继承ObjectContext。但MyEntities确实如此。

当我改变

私人 IMyEntities _context;

私人 MyEntities _context;

我可以ObjectContext.Refresh()使用_context.Refresh().

于 2012-05-23T08:43:47.347 回答