Net Core 学习入门(五)----------使用EF链接数据库

由于netcore2.0集成了Ef,所以我们使用Ef的时候配置一下就行了。

1,配置数据库链接appsetting.json

{
    "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
            "Default": "Warning"
        }
    },
    "DBSetting": {
        "ConnectString": "server=.;database=TestEF;uid=sa;pwd=123456"

    }
}

2,写一个model

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace CoreMvc.Models
{
    public class Product
    {
        public int Id { set; get; }

        public string Name { set; get; }
    }
}

3,写一个DB操作类继承EF操作数据库的DBContext,并设置容器

using CoreMvc.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;

namespace CoreMvc.Common
{
    public class DB : DbContext
    {
        public DbSet Products { set; get; }

        public DB()
        {   //如果没有数据库,自动创建,有了什么都不干
            Database.EnsureCreated();
        }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {    //对于这个上下文重写此方法以配置要使用的数据库(和其他选项)。对于上下文的每个实例调用此方法创建。
           
            //加载appsetting.json
            IConfiguration configuration = new ConfigurationBuilder()
                 .SetBasePath(Directory.GetCurrentDirectory())
              .AddJsonFile("appsettings.json").Build();

            string connectionString = configuration["DBSetting:ConnectString"];
            optionsBuilder.UseSqlServer(connectionString);
          
            base.OnConfiguring(optionsBuilder);
        }
    }

}

4,写一个controller测试一下

        public IActionResult Index()
        {
            var db = new DB();
            db.Products.Add(new Product
            {
                
                Name = "红富士"
            });
            db.SaveChanges();

            return View();
        }
5,完毕,EF的增删改查就不写了。
 
 

你可能感兴趣的:(netcore学习)