好吧,我又回来了,其实一直都想写一篇关于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. Jms学习篇一:JMS介绍

    1.JMS介绍: JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API JMS是一种与厂商无关的 API,用来访问 ...

  2. JQuery.iviewer

    from: http://test.dpetroff.ru/jquery.iviewer/test/# jquery.iviewer.js: /* * iviewer Widget for jQuer ...

  3. CSS3新增的伪类选择器

    伪类选择器的作用:对已有选择器做进一步的限制,对已有选择器能匹配的元素做进一步的过滤.CSS 3提供的伪类选择器主要分为以下三类: 结构性伪类选择器 UI元素状态伪类选择器 其他伪类选择器 1.结构性 ...

  4. 设置cssrem,设置emmet

    1.文件->首选项->设置 2.搜索cssrem-> 点击设置:"cssrem.rootFontSize": 16, 4.emmet

  5. vuejs源码摘抄

    订阅功能的部分实现代码如下: /* */ var uid = 0; /** * A dep is an observable that can have multiple * directives s ...

  6. linux c 监控目录

    static void* thread_monitor(void* args) { pthread_detach(pthread_self()); int fd; int wd; int len; i ...

  7. Django初步(一):安装和简单演示

    参考:Windows下安装Django:http://www.th7.cn/Program/Python/201305/136301.shtml

  8. java面试题之----String的intern

    When---什么时候需要了解String的intern方法: 面试的时候(蜜汁尴尬)!虽然不想承认,不过面试的时候经常碰到这种高逼格的问题来考察我们是否真正理解了String的不可变性.String ...

  9. Consul在linux系统, 群集实战

    Consul作为微服务的服务注册与发现组件,是非常重要的一部分 目前想用Consul作为配置管理的统一管理 准备两台机器 11.11.11.1011.11.11.20 下载consul linux版  ...

  10. 源码安装mysql,及主从同步

    源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...