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. then()方法是异步执行

    then()方法是异步执行 就是当.then()前的方法执行完后再执行then()内部的程序 这样就避免了,数据没获取到等的问题

  2. Sersync + Rsync 代码分发

    简介: Sersync 是基于 inotify 来编写的 Linux 系统文件监控工具,当监控到文件发生变化时,调用 rsync 同步文件. 类似的功能,以前有用 rsync + inotify 实现 ...

  3. javascript 模拟选择下拉框的某一个option元素的效果

    需要在单元测试模拟它,百度谷歌了好久都没有.后来认真想想,还是找到办法了.因为我们手动交互某一行为,首先是让它的某些属性发生变化,其次是让它触发某事件.想明白这一点就简单了.让属性发生变化,当然是改动 ...

  4. 第2章地址Address(WCF全面解析3)

    WCF顾明思义,就是在Windows平台下解决通信(C,Communication)的基础框架(F,Foundation)问题. 终结点是WCF最为核心的对象,因为它承载了所有通信功能.服务通过相应的 ...

  5. 前端开发之CSS入门篇

    一.CSS介绍和语法 二.CSS引入方式 三.基本选择器 四.高级选择器 五.伪类选择器 六.伪元素选择器 1️⃣  CSS介绍和语法 1. CSS的介绍 (1)为什么需要CSS? 使用css的目的就 ...

  6. Promethus安装指南

    由于Prometheus是go语言写的,所以不需要编译,安装的过程非常简单,仅需要解压然后运行.Prometheus官方下载地址:https://prometheus.io/download/ 安装P ...

  7. centos7 时间修改

    转子 http://blog.csdn.net/kuluzs/article/details/52825331 在CentOS 6版本,时间设置有date.hwclock命令,从CentOS 7开始, ...

  8. Java-精确计算工具类

    import java.math.BigDecimal; import java.math.RoundingMode; /** * 精确计算工具类(加,减,乘,除,返回较大值,返回较小值) */ pu ...

  9. activeMQ集群搭建及高可用

    三台服务器搭建如下的集群,达到了高可用.也同时达到了负载的目的: /****************************************************************** ...

  10. JS中立即执行函数的理解

    1.匿名函数不能单独定义,必须进行赋值操作或者立即执行,否则会被JS引擎定义为语法错误 function(){alert(dada);} VM229:1 Uncaught SyntaxError: U ...