我正在使用“<strong>ADO.NET Unit Testable Repository Generator”(在此处描述)来生成实体类。除了数据库对象的类之外,此 T4 模板会自动生成以下类:
- < MyEntities >.cs - 功能具体的对象上下文
- <我的实体> BaseRepositoryTest.cs
- < MyEntities >Mock.cs - 实现上下文接口的具体模拟上下文对象。
- <我的实体> Mock.ObjectSet.cs
- < MyModelRepository > .Context.cs
- <我的实体> PartialRespository.cs
- 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()?