.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
所以一直都无法读取到表!希望以后遇到这样的问题不会再犯
.net core 2.1-----Sql Server数据库初体验的更多相关文章
- Spring JDBCTemplate连接SQL Server之初体验
前言 在没有任何框架的帮助下我们操作数据库都是用jdbc,耗时耗力,那么有了Spring,我们则不用重复造轮子了,先来试试Spring JDBC增删改查,其中关键就是构造JdbcTemplate类. ...
- Saturday SQL Server 2016 初体验
最近在开发一个有关数据库的项目,我想用SQLite,但是SQLite的设计器不是特别友好,然后据说VS有一个集成的SQLite设计器,但是我用的VS2017亲测并没有,用户体验不佳,所以安装一个SQL ...
- ASP.NET Core 监听SQL Server数据库的实时信息
1.开发环境: 开发工具:Visual Studio 2019 数据库:SQL Server2012 开发环境:.Net Core 3.1 2.使用技术: Signalr:实现消息推送 SqlDepe ...
- EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
- TransactionScope事务处理方法介绍及.NET Core中的注意事项 SQL Server数据库漏洞评估了解一下 预热ASP.NET MVC 的VIEW [AUTOMAPPER]反射自动注册AUTOMAPPER PROFILE
TransactionScope事务处理方法介绍及.NET Core中的注意事项 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.ht ...
- Cenots7下安装运行.NET Core、MicroSoft SQL Server 2019 preview 的基础实践
一:概要 适应人群:.Net初学者.想了解.Net Core在Linux系统中的运行环境搭建者.初次且想在linux上应用.Net Core开发应用程序者: 基础技能:了解.NET基础开发技能者.有一 ...
- SQL Server数据库(时间戳timestamp)类型 (转载)
timestamp介绍 公开数据库中自动生成的唯一二进制数字的数据类型. timestamp 通常用作给表行加版本戳的机制. 存储大小为 8 个字节. 不可为空的 timestamp 列在语义上等价于 ...
- SQL Server数据库和MySQL数据库有什么区别?
SQL Server数据库和MySQL数据库有什么区别呢?详细很多初入IT行业的朋友对于SQL Server数据库和MySQL数据库经常搞混,认为这两种数据库是同一种,其实不然,今天我们来分析一下这两 ...
- Python 学习 第17篇:从SQL Server数据库读写数据
在Python语言中,从SQL Server数据库读写数据,通常情况下,都是使用sqlalchemy 包和 pymssql 包的组合,这是因为大多数数据处理程序都需要用到DataFrame对象,它内置 ...
随机推荐
- http协议再复习(二)
HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法. HTTPS(Hypertext Transfer ...
- 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台OpenResty®
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 W ...
- Pyhton项目实践:将带有美国风格日期的文件改名为欧洲风格日期
题目 项目要求:上千个文本文件,文件名包含美国风格的日期( MM-DD-YYYY),需要将它们改名为欧洲风格的日期( DD-MM-YYYY) 先写个创建一百个美国风格日期的文件 #! python # ...
- leetcode103
class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector&l ...
- 一劳永逸解决VLC播放中文字幕乱码问题
VLC对于Mac/Ubuntu用户来说算得上是必备软件.其相当于PC机上的“暴风影音”,但Mac/Ubuntu的新手使用VLC播放avi时都会碰 到字幕乱码的问题.avi字幕的格式有多种,这里假设你使 ...
- 学习 TCP 三次握手和四次挥手
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...
- 最值得学习阅读的10个C语言开源项目代码
阅读优秀代码是提高开发人员修为的一种捷径-- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网 ...
- Vue-cli webpack模板
Vue webpack项目开始构建模板使用,关键内容摘要 中文文档 https://loulanyijian.github.io/vue-cli-doc-Chinese/ 官方英文 http://vu ...
- 【Git】一、Git简介
一.什么是Git Git是一款免费的开源分布式版本控制系统,可以有效的,高速的处理从很小到非常大的文件. 二.Git VS SVN 1. Git 是分布式的,SVN 是集中式的 2. Git 存储的是 ...
- 07-SSH综合案例:前台用户模块:结构创建及注册页面跳转
现在就不要直接访问一个JSP,要通过一个Action映射过去.我现在点击要去一个注册的页面 这还不是一个真正的注册,只是一个页面的跳转. 1.5.2 用户模块 注册功能: 在index.jsp页面中点 ...