zoukankan      html  css  js  c++  java
  • 学习ASP.NET Core Razor 编程系列二——添加一个实体

     学习ASP.NET Core Razor 编程系列目录

     学习ASP.NET Core Razor 编程系列一

    在Razor页面应用程序中添加一个实体

           在本篇文章中,学习添加用于管理数据库中的书籍的实体类。通过实体框架(EF Core)使用这些类来处理数据库。EF Core是一个对象关系映射(ORM)框架,它简化了编写数据库访问的代码。

           创建的实体类被称为POCO类(“普通的CLR对象”)因为他们没有在EF Core中有任何依赖。它们定义存储在数据库中的数据的属性。

     

            一、添加一个实体类

    1. 在Visual Studio 2017的解决方案资源管理器中,右键单击该RazorMvcBooks,在弹出菜单中选择,项目-->添加-->新建文件夹,修改文件夹名称为“Models”。如下图。

     

           2. 鼠标右键单击“Models”文件夹。在弹出菜单中选择,添加-->类。类名为Book。如下图。

     

           3.在book类中的代码文件中添加以下属性

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
     
    
    namespace RazorMvcBooks.Models
    {
        public class Book
        {
    
            public int ID { get; set; }
            public string Name { get; set; }
            public DateTime ReleaseDate { get; set; }
            public string Author { get; set; }
            public decimal Price { get; set; } 
    
        }
    }

                  其中ID字段必须是数据库中表Book的主键。

             二、添加数据库上下文类

                 在Models文件夹中添加BookContext.cs类,继承自DbContext,操作方式如上第2点中的图所示,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.EntityFrameworkCore; 
    
    namespace RazorMvcBooks.Models
    {
    
        public class BookContext:DbContext
        {
            public BookContext(DbContextOptions<BookContext> options)
    
                    : base(options)
            {
    
            } 
    
            public DbSet<Book> Book { get; set; } 
    
        }
    }

              之前的代码中我们创建了一个DbSet<Book>类型的属性Book.在实体框架中,实体集合通过对应数据库中的表,实体对应表中的行。

            三、添加数据库连接字符串

               在Visual Studio 2017中的资源管理器中找到appsettings.json文件,用鼠标双击打开,在文件中添加一个连接字符串,代码如下。

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "ConnectionStrings": {
        "BookContext": "Server=.\sqlexpress;Database=Books;Trusted_Connection=True;MultipleActiveResultSets=true"
    
      } 
    
    }

                四、注册数据库上下文

              在Visual Studio 2017中的资源管理器中找到startup.cs文件,用鼠标双击打开,在startup.cs文件的ConfigureServices方法中写入依赖注入容器注册数据库上下文的代码,具体代码如下。

    using Microsoft.EntityFrameworkCore;
    using RazorMvcBooks.Models; 
    
    public void ConfigureServices(IServiceCollection services)
            {
    
                services.AddDbContext<BookContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("BookContext")));
                services.AddMvc();
            }

                最后,在Visual Studio 2017中的菜单中选择“生成-->生成解决方案”对项目进行编译,以验证自己写的代码没有任何错误同。

  • 相关阅读:
    【CTF WEB】函数绕过
    【CTF WEB】命令执行
    【CTF WEB】文件包含
    【CTF WEB】GCTF-2017读文件
    【技巧总结】Penetration Test Engineer[5]-Operating System Security(SQL Server、MySQL提权)
    【技巧总结】Penetration Test Engineer[4]-Web-Security(文件处理、会话管理、访问控制、SSRF、反序列化漏洞)
    【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)
    【技巧总结】Penetration Test Engineer[2]-Information gathering
    【技巧总结】Penetration Test Engineer[1]-Basic
    【 Linux 】单台服务器上并发TCP连接数
  • 原文地址:https://www.cnblogs.com/chillsrc/p/8622439.html
Copyright © 2011-2022 走看看