asp.net core webAPI学习笔记(四)连接SQL数据库

IDE 版本:Visual Studio 2017 15.9.7
asp.net core 版本 2.1.1

本文档说明需在
asp.net core webAPI学习笔记(一)项目搭建
的基础下进行

引入NuGet包 Entity Framework Core,因为使用的是SQL数据库,所以EFcore包含在了Microsoft.AspnetCore.App包中
修改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
                      });
        }
    }
}
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值