asp.net core webAPI學習筆記(四)連接SQL數據庫

引入NuGet包
在這裏插入圖片描述
修改appsettings.json,添加數據庫連接字符串

"ConnectionStrings": {
  //                 數據庫地址       數據庫名       帳號          密碼
  "SqlConn": "Server=localhost;Database=testdb;User ID=sa;Password=sa.123;"
}

在這裏插入圖片描述
創建Book實體類

namespace ApiTest.Models
{
    public class Book
    {
        public string ID { set; get; }
        public string name { set; get; }
        public string price { set; get; }
    }
}

創建DataContext類

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

namespace ApiTest.Models
{
    public class DataContext: DbContext
    {
        public DataContext() : base() { }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            // 獲取appsettings.json配置信息
            var config = new ConfigurationBuilder()
                            .SetBasePath(System.IO.Directory.GetCurrentDirectory())
                            .AddJsonFile("appsettings.json")
                            .Build();
            // 獲取數據庫連接字符串
            string conn = config.GetConnectionString("SqlConn");
            //連接數據庫
            optionsBuilder.UseSqlServer(conn);
        }

        public DbSet<Book> book { get; set; } // 不區分大小寫,名稱必須與數據庫表名相同
    }
}

創建Book控制器

using ApiTest.Models;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;

namespace ApiTest.Controllers
{
    [Route("api/[controller]")]
    [EnableCors("cors")] //設置跨域處理的 代理
    //[ApiController]
    public class BookController : ControllerBase
    {
        // GET: api/Tiles
        [HttpGet]
        public OkObjectResult Get()
        {
            DataContext db = new DataContext();
            List<Book> pList = db.book.ToList();
            return Ok(from p in pList
                      select new
                      {
                          id = p.ID,
                          name = p.name,
                          price = p.price
                      });
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章