EF实现线程内唯一,去掉脏数据
2012-06-15 22:13 shy_carson 阅读(602) 评论(0) 收藏 举报//线程内唯一
//第一i个职责:隔离数据库访问层对EF上下文的直接依赖
public class ObjectContextFactory : IObjectContextFactory
{
public ObjectContext GetCurrentObjectContext()
{
//从线程的数据槽里面获取上下文的实例
ObjectContext context = (ObjectContext)CallContext.GetData(typeof(ObjectContextFactory).FullName);
//如果获取的为空,那么创建一个新的上下文,并将此上下文放到线程的数据槽里面去
if(context == null)
{
context = new DataModelContainer();
CallContext.SetData(typeof(ObjectContextFactory).FullName,context);
}
return context;
}
}
浙公网安备 33010602011771号