1.引言

2.解决方案各部分介绍图

3.添加数据模型

4.添加数据库上下文

5.修改配置文件

6.使用依赖关系注入容器注册数据库上下文

7.添加基架工具并执行初始迁移

1.引言

NetCore出来有一段时间了,跨平台、开源、高性能 让每个从事.net的开发者都兴奋了一把,对此我也有浓厚的兴趣。

2.解决方案各部分介绍图

3.添加数据模型

namespace StudyRazorWeb.Models
{
public class User
{
public int ID { get; set; }
public string Name { get; set; }
public bool Sex { get; set; }
public string Adress { get; set; }
public string Tel { get; set; }
}
}

4.添加数据库上下文

数据库上下文是为给定数据库模型协调实体框架功能的主类

namespace StudyRazorWeb.Models
{
public class UserContext:DbContext
{
public UserContext(DbContextOptions<UserContext> options)
:base(options)
{ }
public DbSet<User> User { get; set; }
}
}

5.修改配置文件(appsettings.json)

{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"UserContext": "server=服务器地址;Database=数据库名称;uid=用户名;pwd=密码"
}
}

6.使用依赖关系注入容器注册数据库上下文,修改Startup.cs文件

 public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<UserContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("UserContext")));
services.AddMvc();
}

7.添加基架工具并执行初始迁移

  • 添加 Visual Studio Web 代码生成包。 必须添加此包才能运行基架引擎。
  • 添加初始迁移
  • 使用初始迁移更新数据库

从“工具”菜单中,选择“NuGet包管理器”>"包管理器控制台"

在PMC中输入一下命令:

//安装运行基架引擎所需的工具
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.0
//生成用于创建初始数据库架构的代码,此架构以DbContext中指定的模型为基础
Add-Migration Initial
//用于创建数据库的Migrations/_Initial.cs文件中运行Up方法
Update-Database

”搭建用户模型的基架”

使用命令窗口切换,打开项目目录(包含 Program.cs、Startup.cs 和 .csproj 文件的目录)

运行下面的命令

dotnet aspnet-codegenerator razorpage -m User -dc UserContext -udl -outDir Pages\Users --referenceScriptLibraries

8.写在后面

文章非常基础,简单,没有源码解析,也没有各大语言性能对比,是个入门篇,后续会出一个系列。。。

天道酬勤,大道至简,坚持

[NetCore学习记录]第一章.使用netcore撸个简单的增删改查的更多相关文章

  1. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  2. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  3. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  4. Mybatis学习总结(二)—使用接口实现数据的增删改查

    在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...

  5. Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作

    必须的准备工作 一.MySQL的安装.可以参考博文: http://blog.csdn.net/jueblog/article/details/9499245 二.下载 jdbc 驱动.可以从在官网上 ...

  6. Neo4j学习笔记(1)——使用Java API实现简单的增删改查

    阅读目录 项目的创建及配置 使用嵌入式数据库 创建节点和关系 查询及更新 删除关系和节点 完整代码 参考资料 回到顶部 项目的创建及配置 因为Neo4j依赖的jar包比较多,所以推荐使用Maven来管 ...

  7. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)

    此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...

  8. MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

    二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...

  9. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. 跟着太白老师学python day11 可迭代对象和迭代器

    如果对象的属性中有__iter__属性就说明是可迭代的,容器类的数据类型都是可迭代对象 如果对象的属性中既有__iter__属性也有__next__属性,就说明这个对象是迭代器 如何判断一个函数是不是 ...

  2. SpringMVC将表单对象序列化成Json字符串提交,以List接收

    出自:http://blog.csdn.net/m0_37595732/article/details/71440853 HTML <%@ page language="java&qu ...

  3. umbraco

    在任意页面获取根节点 var locale = CurrentPage.Site(); 遍历根节点 @foreach (var module in CurrentPage.Site().Childre ...

  4. Proxmox VE 设置备忘

    现在PROXMOX 虚拟机一共两个(使用的是N3700 cpu的一个小机器主要为了省电.) 一个是ROS,经过折腾,IK8速度还不错就是资源占用比较大特比下载数据大时对CPU占用很大:OpenWRT不 ...

  5. tomcat的配置文件server.conf中的元素的理解

    tomcat的配置文件server.conf中的元素的理解 tomcat作为一个servlet服务器本身的配置文件是tomcat_home/conf/server.conf,这个配置文件中有很多元素, ...

  6. AspectJ的通知类型

  7. 自学安卓开发篇——day01

    第一次自学安卓开发,首先从开发环境的配置说起,目前安卓开发主要用到的开发环境是Android Studio和Eclipse+ADT,由于我自己的笔记本配置比较低,而studio对电脑的配置要求比较高, ...

  8. Python 爬虫之 Scrapy 分布式原理以及部署

    Scrapy分布式原理 关于Scrapy工作流程 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享 ...

  9. css3中的transform、transition、translate、animation(@keyframes)的区别

    一.前言 在CSS中,我们经常会使用到transform.transition.translate.animation(@keyframes)这些长得相似,又不好区分的属性(值).每当需要使用它们,都 ...

  10. 第十一条理解objc_masgSend的作用

    Objetive-C最基本的的东西就是它的消息机制.Objective-C运行时的最基本的东西就是 objc_msgSend, 它就是负责发送一个消息给对象的C函数.   当你写下面这样的代码时:   ...