1.新建Models文件夹,并新建Movie.cs文件

using System;
using System.ComponentModel.DataAnnotations;
namespace RazorDemo.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        [DataType(DataType.Date)]
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
}

2.新建Data文件夹,并新建RazorDemoContext.cs文件

using Microsoft.EntityFrameworkCore;
namespace RazorDemo.Data
{
    public class RazorDemoContext : DbContext
    {
        public RazorDemoContext (DbContextOptions<RazorDemoContext> options): base(options)
        {
        }
        public DbSet<RazorDemo.Models.Movie> Movie { get; set; }
    }
}
注:此时会报缺少引用的错误,先不用理会。

3.添加数据库连接字符串

向appsettings.json文件添加连接数据库的字符串
"ConnectionStrings": {
    "MovieContext": "Data Source=MvcMovie.db"
  }
注:记得前面加个逗号隔开

4.添加NuGet包和EF工具

运行以下命令(可以一起复制到命令终端中):
dotnet tool install --global dotnet-ef
dotnet tool install --global dotnet-aspnet-codegenerator
dotnet add package Microsoft.EntityFrameworkCore.SQLite
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer

上述命令添加:

  • aspnet-codegenerator 基架工具
  • 适用于 .NET Core CLI 的 Entity Framework Core 工具。
  • EF Core SQLite 提供程序将 EF Core 包作为依赖项进行安装。
  • 基架需要的包:Microsoft.VisualStudio.Web.CodeGeneration.DesignMicrosoft.EntityFrameworkCore.SqlServer

安装完成后,上面的错误就会消失了。

5.注册数据库上下文

在Startup.cs中添加引用:

using RazorDemo.Data;
using Microsoft.EntityFrameworkCore;
在其中的ConfigureServices方法中添加:
services.AddDbContext<RazorDemoContext>(options =>
            options.UseSqlite(Configuration.GetConnectionString("MovieContext")));

6.搭建“电影”模型的基架

在此部分,将搭建“电影”模型的基架。 确切地说,基架工具将生成页面,用于对“电影”模型执行创建、读取、更新和删除 (CRUD) 操作。执行命令:
dotnet aspnet-codegenerator razorpage -m Movie -dc RazorDemoContext -udl -outDir Pages\Movies --referenceScriptLibraries
-m  模型的名称
-dc  要使用的上下文类
-udl  使用默认布局
-outDir  用于创建视图的相对输出文件夹路径
--referenceScriptLibraries  向“编辑”和“创建”页面添加 _ValidationScriptsPartial
完成后会自动创建 Pages/Movies:“创建”、“删除”、“详细信息”、“编辑”和“索引”。

7.初步迁移

执行迁移命令:
dotnet ef migrations add InitialCreate
dotnet ef database update

8.调试程序

在打开的浏览器地址后面加上/movies
 

使用VSCode创建简单的Razor Webapp--2.添加模型的更多相关文章

  1. 使用VSCode创建简单的Razor Webapp--1.入门

    1.下载vscode,安装dotnet core sdk 在cmd中使用命令dotnet --version可以查看当前安装的版本 2.打开vscode,设置语言和扩展 在最左边的工具栏,点击最下面的 ...

  2. 1.ASP.NET Core 中向 Razor Pages 应用添加模型

    右键单击“RazorPagesMovie”项目 >“添加” > “新建文件夹”. 将文件夹命名为“Models”.右键单击“Models”文件夹. 选择“添加” > “类”. 将类命 ...

  3. SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)

    在第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurre ...

  4. SSIS教程:创建简单的ETL包 -- 5. 添加包部署模型的包配置(Adding Package Configurations for the Package Deployment Model)

    包配置允许您从开发环境的外部设置运行时属性和变量. 配置允许您开发灵活且易于部署和分发的包.Microsoft Integration Services 提供了以下配置类型: XML 配置文件 环境变 ...

  5. SSIS教程:创建简单的ETL包 -- 3. 添加日志(Adding Logging)

    Microsoft Integration Services 包含日志记录功能,可通过提供任务和容器事件跟踪监控包执行情况以及进行故障排除. 日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器 ...

  6. ASP.NET CORE RAZOR :向 Razor 页面应用添加模型

    本文来自:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/model 在本部分中将添加用于管理数据库中的电影的类. ...

  7. 使用VSCode创建.NET Core 项目,添加类库间引用

    注:网络上搜索到的关于VsCode创建调试.Net Core 项目的文章都比较老旧,不能完全参考使用,根据网络文章.微软官方文档的指导下,学习并整理此文档,但也大体和文档学习路线相似,主要为记录学习过 ...

  8. myeclipse(2015)中创建简单的Maven项目的步骤(用于生成可执行jar文件)------》myeclipse2015

    利用MyEclipse的引导,可以很方便的创建简单的.用于生成可执行jar文件的Maven项目: 1.New -> Project... 选择 Maven Project, 点击Next > ...

  9. vscode 创建.net core项目初体验

    微软的virtual studio编辑器那是宇宙第一大编辑器,可惜就是太笨重,遇到性能差一些的电脑设备,简直无法快速的编辑项目. 而vs code编辑器轻便易用,想要编辑哪种项目,只需扩展插件就OK, ...

随机推荐

  1. K8S 容器挂载Windows 文件共享目录,访问出现Permission denied的解决办法

    K8S Pod,Docker 容器挂载Windows主机目录,访问相应的文件出现Premission denied的权限访问问题 Windows远程共享目录为//192.168.61.115/huas ...

  2. 《C# 6.0 本质论》 - 学习笔记

    <C# 6.0 本质论> ========== ========== ==========[作者] (美) Mark Michaelis (美) Eric Lippert[译者] (中) ...

  3. django 定时任务 django-crontab 的使用

    成功例子如下图: 1.前言 在做 django 开发需求时,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的.可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 1 ...

  4. Java工作流系统jflow从表功能介绍一

    关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 从表也叫明细表, ...

  5. Ubuntu系统下使用php7+mysql+apache2搭建自己的博客

    很多人都有写博客的习惯,奈何国内的博客网站正在一家家地关闭与重整,部分博客网站也充斥着太多的广告,使用体验非常不好.对于爱写博客的朋友来说,其实还有一个更好的选择,那就是自己搭建一个博客. 搭建一个自 ...

  6. vue搭建手顺

    1.环境准备:node.js  vue-cli: $ npm install vue-cli -g 2.建立项目目录:vuedemo,并cd到该目录下 3.$ vue init webpack  vu ...

  7. SOA(Service-Oriented Architecture):面向服务的架构

    SOA (Service-Oriented Architecture):面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联 ...

  8. C语言用两个栈实现队列(完整版)

    队列是一种 先进先出(first in - first out, FIFO)的数据结构,队列中的元素都从后端(rear)入队(push),从前端(front)出队(pop).实现队列最直观的方法是用链 ...

  9. PMP--1. PMBOK框架部分目录

    1.1 PMBOK体系框架描述https://www.cnblogs.com/hemukg/p/11821210.html 1.2 PMBOK指南组成部分https://www.cnblogs.com ...

  10. 破局AI落地难,数据标注行业需率先变革丨曼孚科技

    ​2019年,国内人工智能领域的投融资热情大幅降低,相当数量的AI企业彻底消失在了历史的长河中,“人工智能寒潮已至”甚至成为行业年度热词. 与前几年创业与投资热情齐头并进的盛况相比,近段时间的AI行业 ...