• 在windows上使用asp.net core创建 Razor 页面 Web 应用


    安装以下组件:

    1.添加数据模型

    在解决方案资源管理器中,右键单击“RazorPagesMovie”项目 >“添加” > “新建文件夹”。 将文件夹命名为“Models”。
    右键单击“Models”文件夹。 选择“添加” > “类”。 将类命名为“Movie”,并添加以下属性:
    向 Movie 类添加以下属性:
    
    namespace RazorPagesMovie.Models
    {
        public class Movie
        {
            public int ID { get; set; }
            public string Title { get; set; }
            public DateTime ReleaseDate { get; set; }
            public string Genre { get; set; }
            public decimal Price { get; set; }
        }
    }
    数据库需要 ID 字段作为主键。
    View Code

    2.添加数据库上下文类

    向“Models”文件夹添加名为 MovieContext.cs 的 DbContext 派生类。
    
    using Microsoft.EntityFrameworkCore;
    
    namespace RazorPagesMovie.Models
    {
        public class MovieContext : DbContext
        {
            public MovieContext(DbContextOptions<MovieContext> options)
                    : base(options)
            {
            }
    
            public DbSet<Movie> Movie { get; set; }
        }
    }
    View Code

    前面的代码为实体集创建 DbSet 属性。 在实体框架术语中,实体集通常与数据库表相对应,实体与表中的行相对应。

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

    将连接字符串添加到 appsettings.json 文件。

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "ConnectionStrings": {
        "MovieContext": "Server=(localdb)\mssqllocaldb;Database=Movie-1;Trusted_Connection=True;MultipleActiveResultSets=true"
      }
    }
    View Code

    4.注册数据库上下文

    使用 Startup.cs 文件中的依存关系注入容器注册数据库上下文。

    public void ConfigureServices(IServiceCollection services)
    {
        // requires 
        // using RazorPagesMovie.Models;
        // using Microsoft.EntityFrameworkCore;
    
        services.AddDbContext<MovieContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("MovieContext")));
        services.AddMvc();
    }
    View Code

    5.添加基架工具比执行迁移

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

    在 PMC 中,输入以下命令:

    Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.0
    Add-Migration Initial
    Update-Database
    View Code

    Install-Package 命令安装运行基架引擎所需的工具。

    Add-Migration 命令生成用于创建初始数据库架构的代码。 此架构以(Models/MovieContext.cs 文件中的)DbContext 中指定的模型为基础。 Initial 参数用于为迁移命名。 可以使用任意名称,但是按照惯例应选择描述迁移的名称。 

    Update-Database 命令在用于创建数据库的 Migrations/<time-stamp>_InitialCreate.cs 文件中运行 Up 方法。

    6.搭建‘电影’模型的基架

    • 打开项目目录(包含 Program.cs、Startup.cs 和 .csproj 文件的目录)中的命令窗口(在目录下,shift+右键)。
    • 运行下面的命令

    dotnet aspnet-codegenerator razorpage -m Movie -dc MovieContext -udl -outDir PagesMovies --referenceScriptLibraries
    View Code

    如果收到错误:

    The process cannot access the file 
    'RazorPagesMovie/bin/Debug/netcoreapp2.0/RazorPagesMovie.dll' 
    because it is being used by another process.
    

    退出 Visual Studio,然后重新运行命令。

    下表详细说明了 ASP.NET Core 代码生成器的参数:

    参数描述
    -m 模型的名称。
    -dc 数据上下文。
    -udl 使用默认布局。
    -outDir 用于创建视图的相对输出文件夹路径。
    --referenceScriptLibraries 向“编辑”和“创建”页面添加 _ValidationScriptsPartial

    7.测试应用

    运行应用并将 /Movies 追加到浏览器中的 URL (http://localhost:port/movies)

    收藏
    关注
    评论
  • 相关阅读:
    inspector 只读属性
    使用MongoDB
    【Roslyn C#】Runtime环境Unity读取字符串代码
    Unity使用LoadImage 读取byte[]图片时,会出现白边问题
    团队中避免不可维护代码的措施
    Unity点到线段的最短距离
    判断点是否在多边形内部
    Unity 根据前后帧位置自动旋转
    停止Unity在运行时脚本修改重新编译的情况
    KI子线段树 / AKEE SegmentTree
  • 原文地址:https://www.cnblogs.com/yidengbone/p/7691249.html
Copyright © 2020-2023  润新知