• 2.EF Core添加数据库配置的几种方式


    一、OnConfiguring:重写OnConfiguring方法添加配置信息

        public class BloggingContext: DbContext
        {
            /// <summary>
            /// 配置数据连接信息
            /// </summary>
            /// <param name="optionsBuilder"></param>
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                optionsBuilder.UseMySql("数据库连接字符串");
                base.OnConfiguring(optionsBuilder);
            }
    
        }

    二、构造函数参数方式配置

      a.生成DbContextOptions

      b.传入构造函数参数

    var optionsBuilder = new DbContextOptionsBuilder<BloggingContext>();
    optionsBuilder.UseMySql("数据库连接字符串");
    using (BloggingContext db=new BloggingContext(optionsBuilder.Options)) {
      return db.Blogs;
    }

    三、容器添加方式

    1、添加操作数据库上下文的构造函数

        public  class BloggingContext : DbContext
        {
            /// <summary>
            /// 容器初始化时传入options
            /// </summary>
            /// <param name="options"></param>
            public BloggingContext(DbContextOptions<BloggingContext> options): base(options)
            {
            }
    
            public virtual DbSet<Blog> Blogs { get; set; }
            public virtual DbSet<Post> Posts { get; set; }
        }

    2、在Startup.ConfigureServices方法中添加服务依赖,这里有两种添加方式

             
    services.AddDbContextPool<BloggingContext>(options => options.UseMySql("数据库连接字符串")); //会集成.net core 日志机制,微软推荐使用连接池的方式 services.AddDbContext<BloggingContext>(options=>options.UseMySql("数据库连接字符串"));

    3、 获取方式

      a.服务方式获取

                using (var context = HttpContext.RequestServices.GetService<BloggingContext>())
                {
                    // do stuff
                }

      b.控制器方式传入,参数加上[FromServices]

            public IActionResult Index([FromServices]BloggingContext context)
            {return Content(“”);
            }

      c.构造函数传入

        public class HomeController : Controller
        {
            private readonly BloggingContext _context;
    
            public HomeController(BloggingContext context)
            {
                _context = context;
            }
         }
  • 相关阅读:
    Hive的架构和工作流程
    Hive的定义及搭建
    HBase API操作
    HBase相关概念简介
    HBase shell常用命令
    HBase的简介和搭建
    scrapy useragent
    scrapy settings
    scrapy中的request对象
    python语法
  • 原文地址:https://www.cnblogs.com/Adoni/p/12270153.html
Copyright © 2020-2023  润新知