美文网首页微服务Demo
第1章 1.2 API 服务 (webapi) 访问数据库

第1章 1.2 API 服务 (webapi) 访问数据库

作者: elef | 来源:发表于2018-10-10 15:26 被阅读140次

    数据库脚本 db.sql

    CREATE TABLE dbo.userdata (
        id int IDENTITY(1,1),
        name varchar(100),
        sex varchar(100)
    ) go
    

    安装dapper

    dotnet add package dapper
    

    appsettings.json文件中添加连接字符串

    {
      "ConnectionStrings": {
        "Dapper_SQLServer": "Data Source=47.92.110.155,1433;Integrated Security=false;Initial Catalog=GoldReport;User Id = sa;Password = abc;"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    

    注意:

    .Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014.
    
    如果SqlServer2008低于SP3版本,会出现连接超时的问题。
    

    修改之前默认的控制器中的方法

        using System;
        using System.Collections.Generic;
        using System.Data.SqlClient;
        using System.IO;
        using System.Linq;
        using System.Threading.Tasks;
        using Dapper;
        using Microsoft.AspNetCore.Mvc;
        using Microsoft.Extensions.Configuration;
        using Newtonsoft.Json;
        using Newtonsoft.Json.Linq;
    
        [Route("api/[controller]")]
        [ApiController]
        public class ValuesController : ControllerBase
        {
            
            // GET api/values
            [HttpGet]
            public ContentResult Get(
                [FromServices]IConfiguration config)
            {
    
                using (SqlConnection connection = new SqlConnection(
                    config.GetConnectionString("Dapper_SQLServer")))
                {
    
                    var data = connection.Query<userdata>(
                        "SELECT id " +
                              ",name " +
                              ",sex " +
                        "FROM dbo.userdata " +
                        "ORDER BY id "
                        );
    
    
                    return Content(JsonHelper.ToJson(data), "application/json");
                }
            }
        }
    

    使用POSTMAN测试

    [
        {
            "id": 1,
            "name": "张三",
            "sex": "男"
        },
        {
            "id": 2,
            "name": "李四 ",
            "sex": "男"
        },
        {
            "id": 3,
            "name": "王五 ",
            "sex": "男"
        },
        {
            "id": 4,
            "name": "赵六",
            "sex": "男"
        }
    ]
    

    相关文章

      网友评论

        本文标题:第1章 1.2 API 服务 (webapi) 访问数据库

        本文链接:https://www.haomeiwen.com/subject/fmrpaftx.html