• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

asp.netcore连接数据库

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

两种方式:

界面简介

 

1、固定式

引用类库

 

Domain 项目下有个 ApplicationDbContext.cs文件

  public class ApplicationDbContext:DbContext
  {
     
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var builder = new ConfigurationBuilder()
           .SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("appsettings.json");
            var configuration = builder.Build();
            var conn = configuration.GetConnectionString("JConnection");
            optionsBuilder.UseSqlServer(conn);
        }

        public DbSet<TB_User> tB_Users { get; set; }
       protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
            base.OnModelCreating(modelBuilder);
        }
  }

 

WebLearn2下载的appSettings.json

 

应用:

 HomeController中的Index 方法

     public IActionResult Index()
        {
       
            using (ApplicationDbContext applicationDbContext = new ApplicationDbContext())
            { 
                var ieumberable = applicationDbContext.Set<TB_User>().Find(1);
                ViewBag.Name = ieumberable.Name;
            }
              
            return View();
        }

 

页面效果:

 

 

2、注入式

1)第一种方式

ApplicationDbContext.cs 文件代码

    public class ApplicationDbContext:DbContext
    {
 

        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        {
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var builder = new ConfigurationBuilder()
           .SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("appsettings.json");
            var configuration = builder.Build();
            var conn = configuration.GetConnectionString("JConnection");
            optionsBuilder.UseSqlServer(conn);
        }

        public DbSet<TB_User> tB_Users { get; set; }
          

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
        }
    }

startup.cs文件

 public void ConfigureServices(IServiceCollection services)
 {

            services.AddEntityFrameworkSqlServer().AddDbContext<ApplicationDbContext>(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("JConnection"));
            });

            services.AddScoped<DbContext, ApplicationDbContext>();
 }

 

homeController.cs 写法

       private readonly DbContext _dbContext;

        public HomeController(ILogger<HomeController> logger,Pic_UserIDAL pic_UserIDAL, DbContext dbContext)
        {
            _logger = logger;
            _pic_UserIDAL = pic_UserIDAL;
            _dbContext = dbContext;
        }

        public IActionResult Index()
        { 
            var pic = this._dbContext.Set<Tb_User>().Find(1);

            return View();
        }

 2)第二种方式

Startup.cs

       public void ConfigureServices(IServiceCollection services)
        { 
            //services.AddScoped<DbContext, ApplicationDbContext>();
            services.AddDbContext<ApplicationDbContext>(options=>options.UseSqlServer(Configuration.GetConnectionString("JConnection")));
            
            //services.AddEntityFrameworkSqlServer().AddDbContext<ApplicationDbContext>(options =>
            //{
            //    options.UseSqlServer(Configuration.GetConnectionString("JConnection"));
            //});
             
            //services.AddDbContext<ApplicationDbContext>(options=>
            //    options.UseSqlServer(Configuration.GetConnectionString("ConnectionStrings:BaseDb"))
            //);


            services.AddScoped<Pic_UserIDAL, Pic_UserDAL>();
            //services.AddScoped<Pic_UserIDAL, Pic_UserDAL>();

            services.AddControllersWithViews();
        }

 

ApplicationDbContext.cs文件

    public class ApplicationDbContext:DbContext
    {
  
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        {
        }

        //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        //{
        //    var builder = new ConfigurationBuilder()
        //   .SetBasePath(Directory.GetCurrentDirectory())
        //   .AddJsonFile("appsettings.json");
        //    var configuration = builder.Build();
        //    var conn = configuration.GetConnectionString("JConnection");
        //    optionsBuilder.UseSqlServer(conn);
        //}

        public DbSet<TB_User> tB_Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
        }
    }

 

HomeController.cs文件

     private readonly ApplicationDbContext _dbContext;

        public HomeController(ILogger<HomeController> logger,Pic_UserIDAL pic_UserIDAL, ApplicationDbContext dbContext)
        {
            _logger = logger;
            _pic_UserIDAL = pic_UserIDAL;
            _dbContext = dbContext;
        }

        public IActionResult Index()
        { 
            var pic = this._dbContext.Set<Pic_User>().Find(1);

            return View();
        }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[ASP.NET]NetFramework环境问题的一种修复方案发布时间:2022-07-10
下一篇:
ASP.NETJavaScript显示动态时间发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap