2012-05-17 50 views
0

我使用“ADO.NET单元测试库生成“(described here)来生成实体类时,这个T4模板自动生成以下类,除了类的数据库对象:如何调用ObjectContext.Refresh()使用ADO.NET单元测试库生成

  1. < MyEntities>的.cs - 官能混凝土对象上下文
  2. < MyEntities> BaseRepositoryTest.cs
  3. < MyEntities> Mock.cs - 实现上下文的接口的具体模拟上下文对象。
  4. < MyEntities> Mock.ObjectSet.cs
  5. < MyModelRepository> .Context.cs
  6. < MyEntities> PartialRespository.cs
  7. 我< 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()?

回答

0

AFAIK由于IMyEntities未继承ObjectContext,因此无法完成此操作。 但MyEntities呢。

当我改变

私人IMyEntities _context;

私人MyEntities _context;

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

相关问题