展开

关键词

了解EF CodeFirst的Migrator功能与Migrator.Net对比

CodeFirst是EF提供的一种技术手段,使我们从以往的创建数据库后再创建模型变成了只需要关注代码方式进行创模,然后通过EF框架映射到数据库架构并生成。 更新表字段 我们为Blog模型添加一个Url属性,然后再运行程序,我们发现会报错: ? 我们在控制台再输入:Update-Database 通过Update-Database后,会更新我们的数据库架构,如图: ? ? 响应的Blogs 和_MigrationHistory都会有所变化。 其他环境进行迁移操作 如果需要再其他开发环境中搭建数据库的话,只需要获取最新的项目代码,使用Update-DataBase命令就可以了。

30290

使用ABP EntityFramework连接MySQL数据库

ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用。 4.打开Package Manager Console窗口,选择XXX.EntityFramework为默认项目,运行Update-Database命令,系统会在SQL Server中创建数据库和对应的 5.打开SSMS,连接到上一步新建的数据库,选择生成脚本命令,并在高级选项中选择“Schema and data”生成一个创建和填充数据的脚本文件。 我们在XXX.Core中创建一个测试用的实体Student: public class Student:Entity   {       [StringLength(50)]       public 命令运行完成后,在Migrations文件夹中,会创建升级数据库的C#代码

4710
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ABP框架 - 我的第一个Web API

    那么接下来我们将动手使用ABP框架快速开发一个API,你将会发现使用ABP框架有多么便利,会实实在在感受到它的魅力。 解压缩AbpTraining.zip就会获得初始项目的源代码。 string Name { get; set; } public decimal Price { get; set; } } } [Table("Product")] 显示指定实体对应的名 数据库 5.1 数据库实体映射 在AbpTraining.EntityFrameworkCore\EntityFrameworkCore\AbpTrainingDbContext.cs 中添加如下代码片段 Update-Database -Verbos 执行完成后,你会在数据库看到一个新Product 6.

    76880

    EntityFramework Core 学习扫盲

    添加实体和映射数据库 使用EF CORE中添加实体,约束属性和关系,最后将其映射到数据库中的方式有两种,一种是Data Annotations,另一种是Fluent Api,这两种方式并没有优劣之分,全凭开发者喜好和需求 Data Annotations 在自定义的MyContext中添加以下属性信息,并在每个自定义的实体名称上部增加[Table("XXX")],其中XXX为开发者指定的名称。 虽然我们目前还没有添加任何约束,但是EF Core会自动地根据Id/XXId的命名方式生成自增主键,而且如果没有在实体上增加[Table]Attribute的话,的命名也是根据属性命名而定。 假如导航属性中存在对其他实体的引用,那么即便不把被引用实体配置为显式引用,被引用实体也可以隐式地映射到数据库中。 如以下代码所示。 目前只有Fluent Api方式支持TPH,具体实体代码如下,其中RssBlog继承自Blog。

    2.9K90

    用abp vNext快速开发Quartz.NET定时任务管理界面

    ABP vNext代码 既然我们此次演练的项目是使用的abp vNext这个asp.net core的快速开发框架来完成的,所以首先在项目开始之前,你需要到ABP vNext的官网上去下载项目代码。 JobInfo的增删改查功能的实现 这个部分你将体会到我为什么使用abp vNext框架来进行开发了,就是因为快~~~~ 创建领域实体对象JobInfo,这个在领域层代码如下: ? 将我们的JobInfo实体添加到DBContext中,这样应该在EF层 ? 添加新的Migration并更新到数据库中,这个应该算EFCore的基础了吧,两个步骤,一个“Add-Migration” 然后“Update-Database”更新到数据库即可 Add-Migration "Add_JobInfo_Entity" Update-Database 应用层创建页面显示实体BookDto 用来在 基础设施层 和 应用层 传递数据 ?

    1.1K20

    Entity Framework4.3 Code-First基于代码的数据迁移讲解1.建立一个最初的模型和数据库   2.启动Migration(数据迁移)3.第一个数据迁移4.订制的数据迁移4.动态

    5.编译运行应用程序,然后打开数据库管理器,可以看到生成了一个名为MigrationWorkthrough.BlogContext数据库,并且数据库下存在了与Blog领域模型对应结构的 ?    public string Name { get; set; } public string Url { get; set; } } 2.假如我们现在运行应用程序,将会收到一个异常,因为数据库已经不再匹配领域模型类 ,但是现在我们有些东西需要更改: 首先,我们要为Posts的Title列添加一个唯一索引 我们还要为Blog的Rating列添加一个不可为空的属性,加入在这个表里存在属于,他将分配一个模型的CLR数据类型的值给他 现在,让我们看看有些时候我们需要移动一些数据该怎么做,Entity Framework没有对动态数据原生的支持,但是我们可以通过在我们的脚本中执行一些专用的Sql命令来完成这些操作 1.让我们在Post添加一个 得到SQL脚本 假如另外一个开发人员想把这些更改应用到他们自己的机器上,他们只可以从我们的源代码管理中获取我们的更改,一旦他们得到我们新的Migrations,他们仅仅可以通过Update-Database

    57180

    Entity Framework Core必须牢记的三条引用三条命令

    引用2:Install-PackageMicrosoft.EntityFrameworkCore.Tools 我们将使用一些实体框架核心工具来创建一个数据库从EF核心模型,所以我们通过添加这条引用来填加那些我们需要的工具包 命令一:Add-Migration InitialCreate 该命令用于为迁移搭建框架,每次模型变更后需要运行此指令,其中InitialCreate为本次变更的名字,每次必须不一样。 命令二:Update-Database 配合上一条命令使用,是实体模型的变更迁移应用到数据库中。只运行上一条命令是只生成了代码,并没有把变更更新到数据库中的,而该指令,可以理解为将变更应用到数据库。

    39180

    asp.net core 系列之webapi集成EFCore的简单操作教程

    2.增加一个实体类 右击项目,新增一个Models文件夹 在Models文件夹下增加一个类(class),TodoItem 代码如下 public class TodoItem { (database context) 右键Models文件夹,增加一个类,命名 TodoContext 代码如下 public class TodoContext : DbContext { Trusted_Connection=True;MultipleActiveResultSets=true" } } 5.增加初始化迁移,更新数据库 此步骤,主要是使用code first 方式,在数据库中,创建相应的数据库和实体对应的 命令如下: Add-Migration Initial Update-Database 注意,这里要求 power shell 版本 需要是3.0及以上,如果版本不够,可以自己百度然后升级power shell ,这里不再详述 6.增加 Controller 控制器 右键 Controllers 文件夹 添加->控制器 选择 空 API 控制器,命名 TodoController ,添加 ?

    1.1K20

    Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库

    1.2 创建业务实体模型文件夹 Models,添加两个业务实体 Topic,Post public class Topic { public int Id { get; set; Topic.Posts 和 Post.Topic 属性建立了主外键关系,这两个的主键为 Id,且类型为 int ,这表示在下面的创建数据库过程中,EFCore 会自动的为这两个实体对象建立关系和主键 在控制台中输入以下两组命令 Add-Migration Forum_v1 Update-Database 在输入命令 Add-Migration Forum_v1 后,回车,控制台输出 To undo 如果仅需要生成部分数据,还可以通过将 -Tables 参数添加到上述命令来指定要为哪些生成实体。 例如 -Tables Blog,Post。 多个数据以逗号分隔 2.3 项目中生成的实体对象文件夹 ? 通过查看生成的代码比较,和 Code First 方式基本相同,使用方式完全一致 3.

    72221

    RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用

    https://github.com/neozhu/MVC5-Scaffolder 共享 整个项目结构,技术框架完全是基于http://genericunitofworkandrepositories.codeplex.com 而我做的就是通过visual studio 2013提供的 Scaffolder代码生成向导的扩展接口上进行自定义开发通过实体类生成这些数据架构所需要源代码,把大量重复的代码利用工具自动生成实现快速开发的同时又有利于规范开发人员的编程习惯 ,主从结构的,系统自动主从同时编辑操作查询的页面和功能 编辑功能,会根据字段类型,验证规则生成不同的编辑模式,比如日期类型用datebox,数字类型就用numberbox,必填的验证可以实现 Console 运行 add-migration 系统会生成对应修改的脚本 运行 update-database –script 系统会把脚本更新到物理数据库同时生产一个sql脚本用于更新你的生产环节或其他数据库 针对一对N的结构生成的视图如下 上半部分为主表操作区,下半部分是明细操作区。 ? Demo截屏 ? ? ?

    49180

    C# 数据操作系列 - 5. EF Core 入门

    0.前言 上一章简单介绍了一下ORM框架,并手写了一个类似ORM的工具类。这一章将介绍一个在C#世界里大名鼎鼎的ORM框架——Entity Framework的Core版。 Entity Framework 非Core版目前已经更新到了6代,这是一款经过检验的ORM框架。 可以延迟加载需要的数据,外键引用属性、查询结果等 丰富的映射关系,支持一对一,一对多,多对多,甚至继承、单多实例等 可以使用Linq 进行查询 非Core版的可以通过数据库生成实体类,两种都可以通过实体类生成 这是一个超小型的数据库,可以不用安装任何附加软件,只要有一个文件,然后通过代码就可以访问了。 使用工具连接到blogging.db数据库,可以看到 EF自动生成的两个实体类对应的DDL: CREATE TABLE "ModelBs" ( "Id" INTEGER NOT NULL CONSTRAINT

    51110

    Entity Framework Core 之数据库迁移

    EF Core的数据迁移相对EF6来说改了不少也简化了一些.所以我们现在就来看看如何进行数据迁移 我们以官方代码来做为例子..先来创建一个简单的上下文. Microsoft.EntityFrameworkCore.Tools 打开NuGet包管理控制台 选择默认项目为实体上下文所在的程序集如下: ? 首先我们需要添加一个迁移版本. 主要用于确定添加下一次迁移时发生了哪些变化. 解决方法是找到XXXXXXXXXXXXX_BanBen1.cs - 主迁移文件,删除Up和Down里面的代码. 执行如下: Update-Database 这里填写需要回滚的版本名 ,比如我们执行如下: Update-Database BanBen1 然后我们会发现,BanBen2中的长度限制,已经没有了.. ?

    51650

    使用.net core ABP和Angular模板构建博客管理系统(创建后端服务)

    如下所示项目下创建blog/notes文件夹,并加入我们的实体文件 ? ABP框架为我们创建了一个DbContext模板,如下图: ? 多的就不说了,执行add-migration notes 和 update-database命令如下: ? 这里写图片描述 查看我们的数据库添加成功: ? 这里写图片描述 构建应用层服务 在DDD(领域驱动设计)设计中,仓储实现了对数据进行特定操作的代码。ABP使用泛型IRepository接口为每一个实体创建了一个自动的仓储。 这里写图片描述 ABP框架已经内置了这么多常用的操作方法,当然,我们也可以根据自己的需求扩展这些仓储。这里我就直接用自动仓储,不再创建仓储。 添加如下文件: ?

    25620

    ABP入门系列(2)——领域层创建实体

    实体(Entity): 实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库。 仓储(Repository): 仓储用来操作数据库进行数据存取。 找到我们的基础服务层,即以EntityFramework结尾的项目中,找到DbContext类,添加以下代码 //TODO: Define an IDbSet for your Entities... _context.SaveChanges(); } } } } 然后在Configuration类中的Seed方法中,添加以下代码 new DefaultTestDataForTask(context).Create(); 在程序包管理器控制台,输入Update-Database,回车执行迁移。 执行成功后,查看数据库,Tasks创建成功,且中已存在两条测试数据。 至此,Task实体类成功创建。 源码已上传至Github-LearningMpaAbp,可自行参考。

    37380

    使用CodeFirst创建并更新数据库

    DbContext的添加方式如下: 项目上右键->添加->新建项->ADO.NET Entity Data Model->Empty Code First model 项目代码如下: 1 //默认生成的数据名为类名 虽然我们没有为DbContext添加Blog类型的属性,但依然创建了数据T_Blogs,这是因为在Author类中定义了Blog类型的属性,若我们注释掉 public virtual ICollection 如果尚未创建数据库,则不会将此 InitialCreate 迁移添加到项目中。而是,首次调用 Add-Migration 时,用于创建这些代码将为新迁移搭建基架。 ,注意-Verbose和-Database之间有个空格)并运行,可以看到命令成功执行,然后到数据库中查看数据T_Authors发现中已经添加字段Email,同时数据__migrationhistory 若我们修改了TableAttribute和ColumnAttribute的值,然后再使用Update-Database命令来更新数据库,数据库会新建一张有TableAttribute指定名称的数据

    1K40

    ASP.Net Core的Code Fist代码先行操作方法

    Asp.Net  core的Code Fist(代码先行)主要有以下几步: 1.创建实体类 2.创建数据库上下文 3.填加连接字符串 4.依赖注入 5.添加基架工具并执行初始迁移 6搭建模型的基本架构( 更具模型生成网页Page) 首先需要在创建出实体类,此处以微软官方文档中的Movice实体类为例。 选择“添加” > “类”。 Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.0 Add-Migration Initial Update-Database Update-Database用于将以上操作保存到数据库中(生成数据库) 搭建“电影”模型的基架 打开项目目录(包含 Program.cs、Startup.cs 和 .csproj 文件的目录)中的命令窗口

    477170

    ABP(ASP.NET Boilerplate Project)快速入门

    执行update-database ? 数据库已成功创建: ? Ctrl+F5,不出意外,浏览器就会看到这个界面: ? 那么基于abp的二次开发该从何下手呢,最简单的,比如要增加一个数据,并且完成最基本CRUD该怎么做? 新增实体 实体类需要放在MyProject.Core项目下,我新建一个MyTest文件夹,并新增一个Simple类,随意给2个属性。 ? 刷新数据库,Simples已生成: ? 实体的增删改查 进入MyProject.Application项目,新建一个MyTest文件夹 ? 总结 ABP是一个优秀的框架,基于ABP的二次开发肯定会非常高效,但前提是需要熟练掌握ABP,弄清楚他的设计理念以及他的一些实现原理。 以后有时间的话再深入学习一下。文中如果有不妥之处欢迎指正。

    77420

    .NET Core EFCore零基础快速入门简单使用

    二、EF的相关程序包 Microsoft.EntityFrameworkCore 核心程序包,封装了关键的核心代码,使用EF必须引用这个包 Microsoft.EntityFrameworkCore.Design 设计包,用于在命令行工具下EF Core开发的工具套件 Microsoft.EntityFrameworkCore.Tools 用于数据库的生成、迁移、生成等 三、EF Core支持的数据库引擎:SqlServer ,我这里使用MySql数据库,管理Nuget程序包添加Microsoft.EntityFrameworkCore.Design、Pomelo.EntityFrameworkCore.MySql的引用后已经包含了 Microsoft.EntityFrameworkCore的相关依赖 2、创建数据库实体映射类 public class Blog { public int BlogId 程序包管理控制台输入: Add-Migration InitialCreate //InitialCreate是生成迁移文件的文件名,执行此命令后,会生成Migrations文件夹及相关的迁移文件 Update-Database

    1.3K10

    【公开课】ABP CORE 框架入门视频教程《电话薄》基于 Asp.NET Core2.0 EF Core

    我已经在视频中尽量的解释了一些相关信息了,认认真真跟着代码走,问题不大。 本次课程呢,没有使用我的代码生成器,全部是手动打出来的。。 污~ 课程内容 ABP模板项目的生成 ABP框架分层项目简介 实体信息的创建 使用codefirst生成数据库 在Application层中实现Person的有关方法(一)-MPA版本 在Application -MPA版本 完成Person的编辑功能和删除功能的绑定-MPA版本 完成电话号码的添加-MPA版本 电话薄入门教程-SPA版本的开发 目前已经录制完毕了MPA版本,MPA版本也相对来说会比较简单一些。 源代码的地址: 源代码的地址:https://github.com/52ABP/MPACore.PhoneBook 准备工作 必备条件 nuget 配置 首先设置开发环境,打开nuget程序包管理器,添加一个 Generator Data Base 输入以下命令: update-database 最后执行,更多内容,请查看视频。

    79440

    初识ABP vNext(5):ABP扩展实体

    开始 因为用户实体是ABP模板自动生成的,其中的属性都预先定义好了,但是ABP是允许我们扩展模块实体的,我们可以通过扩展用户实体来增加用户头像和用户介绍字段。 扩展实体 ABP支持多种扩展实体的方式: 将所有扩展属性以json格式存储在同一个数据库字段中 将每个扩展属性存储在独立的数据库字段中 创建一个新的实体类映射到原有实体的同一个数据库中 创建一个新的实体类映射到独立的数据库中 然后就是添加迁移更新数据库了: Add-Migration Added_AppUser_Properties Update-Database 也可以不用update,运行DbMigrator项目来更新 查看数据库,AppUsers已经生成这2个字段了: ? 目前还没做设置界面,我先手动给2个初始值: ? 再次请求/api/identity/my-profile接口,已经返回了这2个扩展字段: ? 路由整理 删除掉vue-element-admin多余的路由,并添加ABP模板自带的身份认证管理和租户管理。

    94010

    扫码关注腾讯云开发者

    领取腾讯云代金券