学习ASP.NET Core Razor 编程系列二——添加一个实体-阿里云开发者社区

开发者社区> 杰克.陈> 正文

学习ASP.NET Core Razor 编程系列二——添加一个实体

简介: 原文:学习ASP.NET Core Razor 编程系列二——添加一个实体  学习ASP.NET Core Razor 编程系列目录  学习ASP.NET Core Razor 编程系列一   在Razor页面应用程序中添加一个实体        在本篇文章中,学习添加用于管理数据库中的书籍的实体类。
+关注继续查看
原文:学习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中的菜单中选择“生成-->生成解决方案”对项目进行编译,以验证自己写的代码没有任何错误同。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
.NET数据库编程求索之路--9.使用EF实现
9.使用EF实现   源码下载: /Files/SummerRain/NetDbDevRoad/9使用EF实现1自动ORM简单三层.rar /Files/SummerRain/NetDbDevRoad/9使用EF实现2自动纯POCO代理简单三层.
646 0
.NET数据库编程求索之路--10.使用EF实现(划分输入验证层)
10.使用EF实现(划分输入验证层) 注:使用partial类来实现输入验证逻辑的分层。   源码下载: /Files/SummerRain/NetDbDevRoad/a使用EF实现4划分输入验证层.
566 0
Java网络编程--InetAdress类
一、地址 java.net包中的InetAddress 类对象含有一个Internet主机地址的域名和Ip地址 www.sina.com.cn/202.108.35.210   二、获取地址 1、获取Internet上主机的地址 使用InetAddress类的静态方法 getByName...
604 0
【转】BarTender与ASP.NET的集成小结(条码标签打印编程)
话说自从上次发了篇NHibernate的资料后,好久没有写东西了,半年来一直在忙一个项目,做完项目后,发现很多东西虽然当时做了,懂了,但是很快就会模糊了,于是又再想起总结的重要性~~没啥地方好放资料的,放在博客园也是一个不错的选择~~   本人也是新手,写的不好的地方,请多原谅。
1826 0
LeetCode 编程
给一个包含 n 个整数的数组 S, 找到和与给定整数 target 最接近的三元组,返回这三个数的和。 For example, given array S = {-1 2 1 -4}, and target = 1.
1469 0
+关注
杰克.陈
一个安静的程序猿~
9798
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载