使用VSCode创建简单的Razor Webapp--2.添加模型

Posted 盗哥泡茶去了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VSCode创建简单的Razor Webapp--2.添加模型相关的知识,希望对你有一定的参考价值。

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 PagesMovies --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.添加模型的主要内容,如果未能解决你的问题,请参考以下文章

.NET webapp using knockout + webApi:我应该也保留 Razor 语法还是只使用 html 文件?

使用ajax局部更新Razor页面

ASP.NET MVC Razor

Vue webAPP首页开发

如果无法识别引用,则使用Microsoft.NET.Sdk.Razor时发布失败,但构建工作正常

创建自定义 RequestCultureProvider - 为啥没有初始化 Options 属性?