zoukankan      html  css  js  c++  java
  • 使用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
     
  • 相关阅读:
    if __name__ == 'main': 的作用和原理
    第四篇、Python文件处理
    第二篇*2、Python字符串格式化
    第三篇、Python函数
    第二篇*1、Python基本数据类型
    ping包,支持ip录入
    layui之弹出层--从父窗口传递数据到子窗口
    动态调用WebService
    c# 类的反射实例 (GetType().Invoke().GetMethod().CreateInstance())
    ASP.Net UpdatePanel控件 局部刷新 && 弹出提示信息
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12078959.html
Copyright © 2011-2022 走看看