[.NET Core 4]继续第三篇

一 使用数据库,生成原始数据

原文链接:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-2_4_5-working-with-sql.html

基础知识:ApplicationDbContext 类负责连接数据库并将 Movie 对象和数据记录进行映射。 Startup.cs 文件中,数据库上下文是在 ConfigureServices 方法中用 Dependency Injection 容器进行注册的。

我在ApplicationDbContext.cs中对数据库文件进行了重载(所以并没有使用appsettings.json 文件中的配置)。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            // 在本地开发模式下,它会从 appsettings.json 文件中获取连接字符串。
            optionsBuilder.UseSqlite("Filename=./movie.db");
        }

填充数据的方法可以参考原链接,2个步骤完成

二 Controller 方法与视图

链接:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-2_4_6-controller-methods-views.html 

1)不希望看到 release date 字段显示时间并且 ReleaseDate 应该是两个单词。

打开 Models/Movie.cs 文件并添加下面高亮的代码行:

using System.ComponentModel.DataAnnotations; //手动高亮,添加引用public class Movie
{
    public int ID { get; set; }
    public string Title { get; set; }

    [Display(Name = "Release Date")] //手动高亮
    [DataType(DataType.Date)]        //手动高亮
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

2)

  • Anchor Tag Helper:Views/Movies/Index.cshtml 文件中的 MVC Core Anchor Tag Helper 自动生成Anchor(创建生成HTML元素)
<a asp-action="Edit" asp-route-id="@item.ID">Edit</a> |         <!--手动高亮-->
  • [Bind] 特性:防止 over-posting (过度提交,客户端可能发送比期望还多的数据,比如只需要2个属性但是发送了3个属性)的一种方法。  
  • Form Tag Helper:[ValidateAntiForgeryToken] 特性用来防止伪造请求,会在视图最终呈现文件中加入反伪造标记和服务器进行配对。

基架生成的代码使用几个 Tag Helper 方法来简化 HTML 标记。

3)验证环境

时间: 2024-10-09 15:55:27

[.NET Core 4]继续第三篇的相关文章

[.NET Core 32]升级vs code之后,vs code无法调试net core web项目

错误提示&处理方法 参考链接:https://github.com/OmniSharp/omnisharp-vscode/issues/1742 错误:The .NET Core debugger cannot be installed. The debugger requires macOS 10.12 (Sierra) or newer 方法:You can set the option to disable auto extension updates in VS Code, and th

Ubuntu-Docker[1]安装Docker,通过Docker部署net core代码,需要结合[.NET Core 18]发布、ASP.NET Core Docker部署

1)通过系统自带包安装 通过自带包安装,可能Docker版本较旧 $ sudo apt-get update Reading package lists... Done $ sudo apt-get install -y docker.io {{{-y表示同意.没有-y也可执行,系统会问是否安装,输入y回车即可 apt-get -y install这个指令则是跳过系统提示,直接安装.}}} Adding group `docker' (GID 121) ... Done. docker star

[.NET Core 4]测试验证功能(相较于core教程属于新增)

sqllite 的数据库迁移功能有限制 1)新增如下model,执行数据库迁移不能成功,参考此链接“http://stackoverflow.com/questions/35797628/ef7-generates-wrong-migrations-with-sqlite” 初步判断有限制,所以删除数据库,删除迁移文件,重建数据库“http://www.atove.com/Article/Details/87E62DFDDBF9EC0C5350E7ACD43BADDF”(这篇文章是非.net c

[.NET Core 24]把project.json迁移到.csproj

链接:https://blog.jetbrains.com/dotnet/2017/04/04/rider-eap-update-csproj-based-net-core-support-migrate/ how to migrate from the (deprecated) project.json format to the new .csproj format. First, Microsoft greatly simplified the .csprojformat. In mini

Linux rpm 命令参数使用详解[介绍和应用]

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Q

[Swift中错误]missing argument label &#39;greeting:&#39; in call

Swift 中出现这个问题:从第二个参数起,自动加上lable func sayHello(name:String? ,greeting:String)->String { let result = greeting + "," + (name ?? "Guest") + "!" return result } var nickname:String? nickname = "yc" //“Goodmorning前面应该

MAC OS X socket 1 [a simple example]

Server Code C: // // main.c // unix_socket_very_simple_server // // Created by DMD on 4/7/14. /* Function : Server for unix (OS X MAC) */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> // unix socket #include <sys/socke

MAC OS X socket 2 [a simple example]

Xcode->New Workspace XCode->New Project: C: [Add to : ?] Server: code // // main.c // s2 // Server // Created by DMD on 4/7/14. #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #includ

图像载入 imshow()[OpenCV 笔记5]

void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 typedef const _InputArray& InputArray; _InputArray定义比较复杂,类里先定义了一个枚举,然后是各类的模版类型和一些方法.遇到InputArray/OutputArray类型,可以把它当作Mat类型处理. 图像大小缩放 如果窗口是用CV_WINDOW_AU