返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >Entity Framework Core基于数据模型创建数据库
  • 150
分享到

Entity Framework Core基于数据模型创建数据库

2024-04-02 19:04:59 150人浏览 薄情痞子
摘要

1.简介 使用Entity Framework Core构建执行基本数据访问的ASP.net core mvc应用程序。使用迁移(Migrations)基于数据模型创建数据库,你可以

1.简介

使用Entity Framework Core构建执行基本数据访问的ASP.net core mvc应用程序。使用迁移(Migrations)基于数据模型创建数据库,你可以在windows上使用Visual Studio 2017 Powershell或在Windows、MacOS或linux上使用.net core CLI来学习创建数据库

2.创建新项目

2.1系统必备

在创建新项目之前都要检查是否安装以下软件:
●具有以下工作负载的Visual Studio 2017 15.7版或更高版本(Visual Studio必备):
  ○“asp.netweb开发”(位于“WEB 和云”下)
  ○“.Net Core跨平台开发”(位于“其他工具集”下)
.net Core 2.1 SDK.(Visual Studio、CLI必备)

2.2 创建项目

Core MVC项目可以通过Visual Studio手动来创建,也可以通过在CLI输入命令行来创建,两者区别是前者限制在Windows平台上创建项目,后者是可以跨平台创建项目。

2.2.1Visual Studio手动来创建项目

●打开Visual Studio 2017
●“文件”>“新建”>“项目”。
●从左菜单中选择“其他项目类型”>“Visual Studio 解决方案”。
●点击新建解决方案右键选择“添加”>“新建项目”>“已安装”>“Visual C#”>“.NET Core” 。
●选择“ASP.NET Core Web 应用程序”。
●输入“MyCoreWeb”自定义名称,然后单击“确定”。
●在“新建ASP.NET Core Web应用程序”对话框中:
  ○确保在下拉列表中选择“.NET Core”和“ASP.NET Core 2.1”
  ○选择“Web 应用程序(模型视图控制器)”项目模板
  ○确保将“身份验证”设置为“不进行身份验证”
  ○单击“确定”
警告:如果你使用“单独用户帐户”(而不是“无”)进行身份验证,Entity Framework Core模型会添加到Models\IdentityModel.cs中的项目。

2.2.2通过在CLI输入命令行来创建项目

运行以下命令以创建MVC项目:

dotnet new mvc -n MyCoreWeb

更改为项目目录,你输入的下一个命令需要针对新项目运行:

cd MyCoreWeb

3.安装Entity Framework Core

要安装EF Core,请为要作为目标对象的EF Core数据库提供程序安装程序包。有关可用提供程序的列表,请参阅数据库提供程序。因为我本机是用sqlServer数据库,所以可以通过以下两种方式安装EF Core。

3.1在包管理器控制台输入命令来安装程序包(“工具”>“NuGet包管理器”>“程序包管理器控制台”)

install-package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2.0

3.2通过在CLI输入命令行来安装程序包

--更改为项目所在目录
cd /d D:\Project\MyCoreWeb
--输入CLI命令安装程序包
dotnet add package Microsoft.EntityFrameworkCore.SqlServer

4.创建模型

在Models文件夹下创建BlogginGContext.cs文件,为了简单起见,我们都将Blog、Post实体代码写在BloggingContext.cs文件中:

public class BloggingContext : DbContext
{
    public BloggingContext(DbContextOptions<BloggingContext> options): base(options){ }
    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }
}
public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
    public ICollection<Post> Posts { get; set; }
}
public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}

5.使用依赖注入注册上下文

在应用程序启动过程中,通过依赖关系注入注册服务(如 BloggingContext),以便能够通过构造函数的参数和属性向使用服务的组件(如 MVC 控制器)自动提供该服务。如果想要在MVC控制器里面调用BloggingContext.cs,那么就要在Startup.cs中将其注册为服务。

public void ConfigureServices(IServiceCollection services)
{
    var connection = @"Server=.;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0";
    services.ADDDbContext<BloggingContext>(options => options.UseSqlServer(connection));
}

为简单起见,这里把连接字符串直接在代码中定义。但是通常是会将连接字符串放在配置文件或环境变量中。例如:

appsettings.JSON
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "BloggingDatabase": "Server=.;Database=Blogging;Trusted_Connection=True;"
  }
}

Startup.cs中其注册的服务代码为:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<BloggingContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
}

6.迁移创建数据库(重点)

这个章节比较重要,下面让我们来学习下如何迁移创建数据库。

6.1Visual Studio PowerShell手动来创建项目(“工具”>“NuGet包管理器”>“程序包管理器控制台”)

Add-Migration InitialCreate
Update-Database

如果收到错误,指出The term 'add-migration' is not recognized as the name of a cmdlet,请关闭并重新打开Visual Studio。
Add-Migration命令为迁移搭建基架,以便为模型创建一组初始表。Update-Database命令创建数据库并向其应用程序新的迁移。
因为程序包管理器不支持PowerShell 2.0版本的迁移,需要升级到3.0版本,所以这里就暂时演示不了,请大家自行升级3.0或以上版本测试

或者收到这样错误,无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

请在PowerShell输入如下命令行:Import-Module C:\Users\用户名\.nuget\packages\microsoft.entityframeworkcore.tools\3.1.0\tools\EntityFrameworkCore.psd1,再执行如上命令即可。

6.2通过在CLI输入命令行来迁移

--更改为项目所在目录
cd /d D:\Project\MyCoreWeb
--迁移搭建基架
dotnet ef migrations add InitialCreate
--创建数据库并向其应用程序新的迁移
dotnet ef database update

下面我们来看看迁移创建数据库效果:

到此这篇关于Entity Framework Core基于数据模型创建数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Entity Framework Core基于数据模型创建数据库

本文链接: https://lsjlt.com/news/145263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Entity Framework Core基于数据模型创建数据库
    1.简介 使用Entity Framework Core构建执行基本数据访问的ASP.NET Core MVC应用程序。使用迁移(Migrations)基于数据模型创建数据库,你可以...
    99+
    2024-04-02
  • ASP.NET Core基于现有数据库创建EF模型
    1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库。我们可以通过使用Entity Framework Core构建执行基本数据访...
    99+
    2024-04-02
  • Entity Framework Core生成数据库表
    目录一、引言二、具体示例1、代码生成2、程序包管理器控制台迁移1、安装Microsoft.EntityFrameworkCore.Tools包2、添加迁移命令3、更新数据库3、命令行...
    99+
    2024-04-02
  • Entity Framework Core种子数据Data-Seeding
    目录一、什么是Data-Seeding二、初始化方法1、模型中配置2、手动迁移时添加3、自定义初始化逻辑三、Data-Seeding本质1、首次迁移2、修改不是主键的数据3、删除数据...
    99+
    2024-04-02
  • Entity Framework使用配置伙伴创建数据库
    在上一篇文章中讲了如何使用fluent API来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很...
    99+
    2024-04-02
  • Entity Framework中怎么使用配置伙伴创建数据库
    这篇“Entity Framework中怎么使用配置伙伴创建数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“E...
    99+
    2023-06-29
  • Entity Framework Core种子数据Data-Seeding怎么配置
    这篇文章主要介绍“Entity Framework Core种子数据Data-Seeding怎么配置”,在日常操作中,相信很多人在Entity Framework Core种子数据Data-Seedi...
    99+
    2023-06-29
  • 动态创建数据库模型
           在开发过程中,经常会由用户自主创建模型,然后添加模块内容,这种情况在cms中居多,所以我把几张常规的表给大家列出,帮助大家在以后的开发中可以参考该表来实现该功能。 一,Module表展示视图   module表数据字典...
    99+
    2015-04-04
    动态创建数据库模型
  • 如何使用Entity Framework Core对Web项目生成数据库表
    小编给大家分享一下如何使用Entity Framework Core对Web项目生成数据库表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、引言这篇文章中我们讲解如何在Web项目中使用EntityFr...
    99+
    2023-06-29
  • Entity Framework如何使用Code First模式管理数据库
    这篇文章主要为大家展示了“Entity Framework如何使用Code First模式管理数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Entity Fr...
    99+
    2023-06-29
  • Entity Framework Core如何使用控制台程序生成数据库表
    这篇文章主要介绍了Entity Framework Core如何使用控制台程序生成数据库表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、引言我们使用C...
    99+
    2023-06-29
  • ASP.NET Core 6.0 基于模型验证的数据验证功能
    目录1 前言1.1 数据验证的场景1.2 本文的脉络2 模型验证2.1 介绍2.2 基本使用(1)自定义模型(2)控制器代码(3)测试2.3 内置特性3 自定义数据验证3.1 介绍3...
    99+
    2024-04-02
  • mysql数据库属于哪种数据模型
    mysql数据库采用关系型数据模型,此模型包含以下概念:表:数据存储在称为表的结构中,由行和列组成。键:用于唯一标识表中每行的列或列组合。关系:通过外键建立表之间的连接,实现数据关联。此...
    99+
    2024-04-14
    mysql
  • 数据类型和创建操作数据库
        数据库的数据类型有×××、浮点型、字符型、每种数据类型各自有各自的使用范围,与C语言和Java等语言有大同小异之处,这里再说明一下  &n...
    99+
    2024-04-02
  • Entity Framework使用DataBase First模式实现数据库的增删改查
    在上一篇文章中讲解了如何生成EF的DBFirst模式,接下来讲解如何使用DBFirst模式实现数据库数据的增删改查 一、新增数据 新增一个Student,代码如下: static v...
    99+
    2024-04-02
  • 怎么使用ADO.NET Entity Framework构建数据访问层
    这篇文章主要介绍“怎么使用ADO.NET Entity Framework构建数据访问层”,在日常操作中,相信很多人在怎么使用ADO.NET Entity Framework构建数据访问层问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-17
  • 创建原始数据库——创建数据、创建表
    书籍:数据库系统原理与设计(第3版)——万常选 廖国琼等编著任务驱动:由于找不到原始数据库,只有从零开始创建数据库、设计数据库关系图、输入数据,为后面深入研究数据库做好数据准备。数据库版本:SQL Serv...
    99+
    2024-04-02
  • Android studio 连接SQLite数据库 +创建数据库+创建数据库表
    Android studio 之数据库的使用 连接创建SQLite 大家好,欢迎来到寒依。 相信看啦我的教程 当老师问你在学习Android studio 数据库使用过程中遇到什么困难,分享一下你的感...
    99+
    2023-10-01
    android studio intellij-idea 数据库开发 sqlite java
  • MySQL创建数据库和创建数据表
    目录mysql 创建数据库和创建数据表一、数据库操作语言二、创建数据库三、创建数据表四、MySQL 常用字段类型MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称...
    99+
    2023-03-23
    数据库的创建 数据表的创建
  • 云数据库PostgreSQL创建参数模板
    创建参数模板可以帮助我们在创建数据库实例时快速配置参数,提高数据库的性能和安全性。以下是创建云数据库PostgreSQL参数模板的步...
    99+
    2023-09-21
    数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作