首页 新闻 会员 周边 捐助

net core 中获取DBContext的问题

0
[已解决问题] 解决于 2018-07-06 14:23

以前framework 里边,可以通过如下方式获取到 DBContext

var entities = CallContext.GetData(name) as Entities;

if (entities == null)
{
    entities = new MyEntities();
    CallContext.SetData(name, entities);
}
return entities;

PS: Entities : DBContext

在net core 2.1 里边,CallContext已经被移除了, 这里要如何实现? 

死神的背影的主页 死神的背影 | 小虾三级 | 园豆:667
提问于:2018-07-05 17:52
< >
分享
最佳答案
0

自己实现一个 CallContext ,参考 How to migrate CallContext to .NETStandard and .NETCore

建议改用依赖注入

奖励园豆:5
dudu | 高人七级 |园豆:29568 | 2018-07-05 17:59
其他回答(2)
1

依赖注入,我是直接在构造函数里面声明

    public class ReportService : IReportService {
        public ReportService(ApplicationDbContext context) {
            _context = context;

        }
        private ApplicationDbContext _context;
    }    
远扬 | 园豆:30 (初学一级) | 2018-07-05 19:23

注入的方式,startup 里边需要额外写什么内容吗?

支持(0) 反对(0) 死神的背影 | 园豆:667 (小虾三级) | 2018-07-06 12:31
0

1.可以直接在Startup中进行注入 

2. 查看源码CallContext 将CallContext 相关的 Copy 过来 进行使用。

前行丶 | 园豆:219 (菜鸟二级) | 2018-07-05 21:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册