ASP.NET Core MVC入门——3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core MVC入门——3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3781字,纯文字阅读大概需要6分钟。
内容图文
![ASP.NET Core MVC入门——3](/upload/InfoBanner/zyjiaocheng/635/0caf816b935349edacca3865568beca3.jpg)
这一章节中,我们开始认识一下MVC中的M,也就是Model。
Entity Framework Core是微软提供给开发者的一个ORM框架,类似java中的MyBatis和Hibernate。将Plain Old CLR Objects(POCO)类可以直接转换为数据库中的增删改查的操作代码,减少重复开发代码量。
POCO
这种类是只有属性没有方法的类,纯粹表示数据,可以用于和数据库之间的映射。
EF Core库只要求我们写POCO类,然后该库就可以根据这些类自动在数据库中建立对应的表,以及相关的增删改查。
新建model
Movie.cs
using System;
using System.ComponentModel.DataAnnotations;
namespace MvcMovie.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; }
}
}
安装EFCore SqlProvider
示例选用SqlServer Local数据库,专门用于开发环境的sql server数据库,因此需要安装EFcore库需要用到的sqlServer的Provider库,
选中Tools工具>NuGet 包管理器 > 程序包管理器控制台 (PMC).
Install-Package Microsoft.EntityFrameworkCore.SqlServer
在安装provider的时候,因为依赖,所以也会自动安装EFCore库。
创建数据库上下文
所谓数据库上下文,就是告诉EFCore,我们需要通过什么类建立表数据,以及对该类在表中的增删改查。
创建Data文件夹,添加MvcMovieContext.cs,添加代码。
using Microsoft.EntityFrameworkCore;
using MvcMovie.Models;
namespace MvcMovie.Data
{
public class MvcMovieContext : DbContext
{
public MvcMovieContext (DbContextOptions<MvcMovieContext> options)
: base(options)
{
}
public DbSet<Movie> Movie { get; set; }
}
}
EFCore需要的上下文都需要以 DbContext作为基类,DbSet表示一个集合,对应数据库中的一张表,其中的实体对象则对应一行记录。这里Movie为DbSet类型,所以表名为Movie,DbSet中存储的是Movie即我们自定义的类型,对应一行记录的结构。
注册数据库上下文
ASP.net core基本使用了依赖注入的技术思想。EFCore DBContext作为一种服务需要注册进去才能使用。 在Startup.cs中进行注册,添加如下2行代码
using MvcMovie.Data;
using Microsoft.EntityFrameworkCore;
然后在ConfigureServices中添加一行代码,如下斜体,
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
*
services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MvcMovieContext")));*
}
Configuration.GetConnectionString("MvcMovieContext")是从文件appsettings.json中获取数据库连接字符串。
在appsettings.json中添加一个key:value
"ConnectionStrings": {
"MvcMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext-1;Trusted_Connection=True;MultipleActiveResultSets=true"
}
搭建基架
这是一个专门用于对一组经常关联在一起的开发步骤进行整体创建的工具。比如创建一个模型,会随后创建控制器,一般都会要有增删改查以及对应视图这些开发操作,通过这个功能,就可以一步搭建完毕。无需重复劳动。
右键Controllers选择添加>新搭建基架项目,选择Entity FrameWork的MVC。
弹出对话框选择Model class,上下文选择MvcMovieContext,其他都是默认即可。
然后基架工具会创建两类东西:
1. Controller: Controllers/MoviesController.cs
2. View:Views/Movies/*.cshtml (Create, Delete, Details, Edit, and Index)
也就是说,通过Model和MvcMoviewContext上下文,就把MVC中剩下的VC两样代码全都自动创建完成了。这个过程,微软给出的英文是scaffolding
数据库
MVC都准备好了,接下来就是把数据库创建了,以及对应表创建完成。这个操作,叫做Initial migration。中文翻译的话,应该叫初始化迁移。
migration是EF core的一个功能。用于将Model通过DBContext上下文映射到数据库,并且同步数据库中的表结构。
在程序包管理器控制台 (PMC).中执行如下
Add-Migration InitialCreate
Update-Database
第一行执行,会根据mvcDBContext生成一个Migrations/{timestamp}_InitialCreate.cs文件。
第二句执行,则会执行Migrations/{time-stamp}_InitialCreate.cs文件中的up方法。
完成
到现在。新建一个MVC以及对应数据库的过程就完成了。 运行一下,然后通过http://localhost:59191/Movies 来访问。
内容总结
以上是互联网集市为您收集整理的ASP.NET Core MVC入门——3全部内容,希望文章能够帮你解决ASP.NET Core MVC入门——3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。