zoukankan      html  css  js  c++  java
  • .net core 2.1-----Sql Server数据库初体验

    刚开始接触asp.net core,在学习的过程中遇到了一些小问题,在这里记录一下!

    在我们项目的开发过程中,肯定会和数据库打交道,所以我尝试了一下用asp.net core链接数据库,并读取表中的数据(当然你必须保证有能访问的sql server数据库)!

    首先,新建项目:ASP.NET Core Web应用程序

    点击“确定”,然后选择API,当然你也可以选择其他类型

    接下来,就开始我们的代码旅程了:

    在"appsettings.json"中配置数据库链接字符串,代码段如下:

    {
      "ConnectionStrings": {
        "SQLConnection": "Server=.;Database=CustomerDB;Trusted_Connection=True;"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    

      创建User对象,代码段如下:

    public class User
        {
            public int ID { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
        }
    

      创建DbContext,代码段如下:

    public partial class CustomerDBContext : DbContext
        {
            public CustomerDBContext(DbContextOptions<CustomerDBContext> options)
                : base(options)
            {
            }
            public DbSet<User> User { get; set; }
        }
    

      接下来创建控制器,在这里我选择的是MVC控制器:

        [Route("api/[controller]")]
        [ApiController]
        public class UserController : Controller
        {
            private readonly CustomerDBContext _context;
    
            public UserController(CustomerDBContext context)
            {
                _context = context;
            }
    
            // GET: Users
            [HttpGet]
            public ActionResult<string> Index()
            {
                return (_context.User.ToList())[0].UserName;
            }
        }
    

      当然,还需要在Startup.cs中添加访问配置:

    public void ConfigureServices(IServiceCollection services)
            {
                services.AddDbContext<CustomerDBContext>(options=>options.UseSqlServer(Configuration.GetConnectionString("SQLConnection")));
    
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            }
    

      启动程序,输入你的控制器地址就行了:

    在这个过程中遇见了一点问题,困扰了我挺久的,不过最后解决了

    后来找到了原因:

    public DbSet<User> User { get; set; }这段代码之前我是这样写的
     public DbSet<User> Users { get; set; },而我数据库中的表名是User
    所以一直都无法读取到表!希望以后遇到这样的问题不会再犯
  • 相关阅读:
    Jenkins-------初探
    python--可迭代对象、迭代器和生成器
    python——模块、标准库、第三方模块安装
    python --装饰器通俗讲解
    python--函数、参数、名称空间与作用域、匿名函数、内置函数、闭包
    python--文件操作
    python--基础3(流程语句)
    python--基础2 (数据类型及应用)
    python--基础1(pip,虚拟环境、python编写规范)
    文本处理三剑客简介(grep、awk、sed)
  • 原文地址:https://www.cnblogs.com/huangwei1992/p/9450587.html
Copyright © 2011-2022 走看看