• 注册
当前位置:1313e > 默认分类 >正文

efcore调用函数_Net Core使用依赖注入来装载EF的上下文对象

   referrerpolicy=

   referrerpolicy=妹子情人节快乐~

.net core中用了不少的依赖注入,官方文档中也推荐使用。

这样使用依赖注入来管理ef对象,还是比较科学,比如想要单利就很简单了

1:删除方法protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

{

//#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.

optionsBuilder.UseSqlServer(@"Server=.;Database=Food;Trusted_Connection=True;");

}

2:添加方法public FoodContext(DbContextOptions options)

: base(options)

{

}

添加的是一个构造函数用于构造函数注入(这个方法在新版的时候会自动加入)

3:在startup.cs的ConfigureServices方法中添加依赖注入public void ConfigureServices(IServiceCollection services)

{

// Add framework services.

services.AddMvc();

services.AddDbContext(option => {

option.UseSqlServer("Data Source =.; Initial Catalog = EFCore_dbfirst; User ID = sa; Password = sa.123");

});

}

注:usersqlserver是一个扩展方法,需要添加ef core的引用using Microsoft.EntityFrameworkCore;

4:使用的时候就不能直接去实例化了否则会报错找不到上下文对象

   referrerpolicy=

应该使用注入的方式去获取ef对象,例如构造函数注入private CNBlog_ServerContext ef;

public ArticleDAL(CNBlog_ServerContext context) //通过依赖注入得到实例

{

ef = context;

}

但是如果你这个DAL类是直接实例化的ef也无法被成功的注入,因为你直接实例化调用的是无参的构造函数,

没有为他注入,所以我们应该使用依赖注入来注入对应的DAL类private IArticleDAL _articledal;

public RelatedArticleController(IArticleDAL articledal) //通过依赖注入得到数据访问层实例

{

_articledal = articledal;

}

这样依赖注入在注入DAL层对应的类的时候发现该类还有一个需要注入的对象,就会被他自动注入了

当然注入的方式除了构造函数注入我们还可以使用其他的注入方式

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录