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
- });
- }
- }
- }
复制代码 来源:https://blog.csdn.net/qq_22267353/article/details/88183410 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |