好吧,我又回来了,其实一直都想写一篇关于EF core 的文章去记录自己在开发时候遇到的问题。

为什么要使用EF框架呢,因为原始的ADO.NET需要编写大量的数据访问代码,所以使用EF会更方便。但是今天只讲Code First,Code First非常好用。但是表都需要自己写代码去建立,不能可视化建立,提醒大家还是需要习惯不可视化操作为好。

首先是怎么使用EF core呢,需要去安装Nuget包,我使用的是MySQL数据库,所以安装的是Pomelo.EntityFrameworkCore.MySql和Pomelo.EntityFrameworkCore.MySql.Design

可以在Nuget 包管理器里搜索安装,也可以在Nuget包管理控制台里输入  Install-Package Pomelo.EntityFrameworkCore.MySql   和

Install-Package Pomelo.EntityFrameworkCore.MySql.Design 安装。

这里有个大问题就是Pomelo.EntityFrameworkCore.MySql这个包版本不兼容的问题,如果你的.Net core版本是2.1,那么请安装2.1.0版本,因为2.1.1会报错。

如果没有2.1.0版本,那么久安装最新的,然后在csproj里面修改版本就可以了,如图:

安装完之后就可以使用了。

还需要配置的就是在Startup类上,配置DbContext,还有连接字符串在AppSetting.json中

ORM,对象关系映射,通俗点讲就是将实体的属性和字段联系起来。

下图就是一个类,包含了很多属性。

那么如何将它们联系起来呢。

首先你需要建立一个上下文类,也就是DbContext,别忘了引用Microsoft.EntityFrameworkCore 这个命名空间

这样就把建立表的代码写好了,userID作为主键,其他作为属性,最大长度为32。

当然不要忘了迁移,同样也需要安装Microsoft.EntityFrameworkCore.Tools 这个安装包。

之后就可以在Nuget 包管理控制台执行迁移了。

在Nuget 包管理控制台输入Enable-Migrations 启用迁移   然后 Add-Migration name, name是迁移的名字,

然后一个迁移就被添加了,接下来就是执行迁移Update-Database,这样你会发现你的数据库多了一张表

完成上述操作之后就可以对数据库进行操作了,增删改查之类滴。可以用linq,也可以用lambda表达式。

EF core Code First 简单的使用方法的更多相关文章

  1. EF core (code first) 通过自动迁移实现多租户数据分离 :按Schema分离数据

    前言 本文是多租户系列文章的附加操作文章,如果想查看系列中的其他文章请查看下列文章 主线文章 Asp.net core下利用EF core实现从数据实现多租户(1) Asp.net core下利用EF ...

  2. EF core (code first) 通过自定义 Migration History 实现多租户使用同一数据库时更新数据库结构

    前言 写这篇文章的原因,其实由于我写EF core 实现多租户的时候,遇到的问题. 具体文章的链接: Asp.net core下利用EF core实现从数据实现多租户(1) Asp.net core下 ...

  3. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  4. 在ASP.NET Core中通过EF Core实现一个简单的全局过滤查询

    前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是 ...

  5. Entity Framework Core(EF Core) 最简单的入门示例

    目录 概述 基于 .NET Core 的 EF Core 入门 创建新项目 更改当前目录 安装 Entity Framework Core 创建模型 创建数据库 使用模型 基于 ASP.NET Cor ...

  6. .Net Core+Angular6 学习 第四部分(EF Core(Code First))

    目的: 打算通过EF core 练习从database receive data 显示到UI. 1. 创建一个新的project Model.定义一个 base interface entity以及实 ...

  7. ef core code first from exist db

    目标 为现有数据库生成新的连接,允许只选择部分表 可以处理一些很怪的需求,比如EF升级EF Core(这个可能有其他解),EF.EF Core同时连接一个数据库 我遇到的问题是: 原项目是.net f ...

  8. .ef core 多对对关系的关联方法

    最近在用.net core 重构博客,在使用ef core连表查询时,遇到了一些问题.记录一下. 关系:一个博客可以有多个标签,一个标签可以属于多个博客,博客和标签之间存在多对多的关系 下面是实体代码 ...

  9. ef core code frist

    https://docs.microsoft.com/zh-cn/ef/core/get-started/aspnetcore/new-db?view=aspnetcore-2.1 1.先创建对应的实 ...

随机推荐

  1. Ubuntu16.04安装Hadoop2.6+Spark1.6+开发实例

    Ubuntu16.04安装Hadoop2.6+Spark1.6,并安装python开发工具Jupyter notebook,通过pyspark测试一个实例,調通整个Spark+hadoop伪分布式开发 ...

  2. Android 隐式 Intent 跳转注意事项

    前几天正好看到<阿里巴巴 Android 开发手册>中提到的: “Activity 间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity 检 ...

  3. event.cancelBubble=true

    <tr><a href="xxx">连接</a></tr> 如上结构,单击tr的时候跳转至另一页面 <tr style=&qu ...

  4. 会话cookie中缺少HttpOnly属性 解决

    会话cookie中缺少HttpOnly属性 解决   只需要写一个过滤器即可 1 package com.neusoft.streamone.framework.security.filter; 2 ...

  5. java maven项目 导入jar包注意

    1.将jar 包放到lib目录下 2.build path 3.点击maven主项目右键选择properties 4.选择myeclipse 下的第一个选项 5.点击add   选择archives ...

  6. 调查UIRecorder 测试报告的CI(集成)实现方式

    以下内容来自uirecorder官网: 如何接入Jenkins? 添加命令 source ./install.sh source ./run.sh 添加报告 JUnit: reports/index. ...

  7. 网络防火墙之iptables的前世今生和归宿

    任何事物都有一个从无到有,再归于无的过程.是的,我这里用了一个绝对词:任何. 防火墙 在计算机领域中,防火墙(英文:Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的 ...

  8. 基于ssh的多节点之间互信通信的实现

    实现条件:node1:192.168.176.6 主机名称是node1.magedu.com: node2:192.168.176.6 主机名称是node1.magedu.com: 实现目的:在节点n ...

  9. SAP订单编排和流程增强概述

    SAP产品里的订单处理,无论是On-Premises解决方案还是云产品,我认为归根到底可以概括成四个字:订单编排,包含两个层次的内容: 1. 单个订单通过业务流程或者工作流驱动的状态迁移: 2. 多种 ...

  10. 用批处理在windows中导出/导入无线网络信息,复制保存为bat即可

    @echo offtitle 在windows中导出/导入无线网络信息 :Beginecho ========================echo 请选择操作:echo 1 查看可用的无线网络ec ...