.net core 2.1-----Sql Server数据库初体验

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,独享型 2核4GB
简介: 刚开始接触asp.net core,在学习的过程中遇到了一些小问题,在这里记录一下!在我们项目的开发过程中,肯定会和数据库打交道,所以我尝试了一下用asp.net core链接数据库,并读取表中的数据(当然你必须保证有能访问的sql server数据库)!首先,新建项目:ASP.

刚开始接触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
所以一直都无法读取到表!希望以后遇到这样的问题不会再犯
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
20天前
|
SQL 存储 关系型数据库
关系型数据库SQLserver基本 SQL 操作
【7月更文挑战第28天】
28 4
|
5天前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
1天前
|
SQL 关系型数据库 MySQL
SQL数据库和 SQLserver数据库
【8月更文挑战第19天】SQL数据库和 SQLserver数据库
8 2
|
1天前
|
SQL 存储 安全
SQL Server数据库创建
【8月更文挑战第19天】SQL Server数据库创建
5 1
|
20天前
|
SQL 安全 关系型数据库
SQL数据库操作
【7月更文挑战第31天】SQL数据库操作
24 7
|
21天前
|
SQL 存储 关系型数据库
SQL数据库
【7月更文挑战第30天】SQL数据库
23 8
|
22天前
|
SQL 存储 监控
|
19天前
|
SQL 关系型数据库 数据库
|
19天前
|
SQL 关系型数据库 数据库