好吧,我又回来了,其实一直都想写一篇关于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. HTML代码中<%%>、<%=%>、<%:%>

    <%%>之间可以写服务器端代码 比如 <% for(var i=0;i<10;i++){%> <%=%>获取后台的变量值,比如后台一个session[&quo ...

  2. Cocos2d-js 开发记录:图片数据资源等的异步加载

    这里说的是在需要的使用加载图片,比如游戏中的某个关卡的图片,不用在游戏一开始就加载(万一用户玩不到那关,岂不是很冤,流量费了那么多),否则载入速度也慢.这种方式加载资源要用到cc.loader官方文档 ...

  3. OLEDB 枚举数据源

    在之前的程序中,可以看到有这样一个功能,弹出一个对话框让用户选择需要连接的数据源,并输入用户名和密码,最后连接:而且在一些数据库管理软件中也提供这种功能--能够自己枚举出系统中存在的数据源,同时还可以 ...

  4. Sass学习笔记(三)

    一.Sass的控制命令 二.Sass的函数功能 sass中除了可以定义变量,还自备了一系列函数功能,主要包括:字符串函数.数字函数.列表函数.颜色函数.Instrospection函数.三元函数等.当 ...

  5. cf1072D. Minimum path(BFS)

    题意 题目链接 给出一个\(n \times n\)的矩阵,允许修改\(k\)次,求一条从\((1, 1)\)到\((n, n)\)的路径.要求字典序最小 Sol 很显然的一个思路是对于每个点,预处理 ...

  6. Git回退到指定节点的版本

    1.获取某个历史版本的id(即change-id,每个版本唯一) 方法1:使用git log命令查看所有的历史版本,输入q便可退出. git log 方法2:使用gitk图形化界面查看节点信息.(在安 ...

  7. Android 环信聊天头像昵称显示解决方案

    从消息扩展中获取昵称和头像 昵称和头像的获取:把用户基本的昵称和头像的URL放到消息的扩展中,通过消息传递给接收方,当收到一条消息时,则能通过消息的扩展得到发送者的昵称和头像URL,然后保存到本地数据 ...

  8. percona MySQL 5.7yum安装

    检查是否安装有MySQL Server: rpm -qa | grep mysql rpm -qa | grep mariadb 删除方法: rpm -e mysql #普通删除模式 rpm -e - ...

  9. 使用 webpack 各种插件提升你的开发效率

    前沿 项目地址 vue-admin 欢迎 star 近几个月,接手了一个老项目的重构规划,有多老呢?就是前端青铜时代的项目,一个前后端都在同一个锅里的项目.完全没有使用任何的打包工具. 后台 php ...

  10. startup ORA-00845: MEMORY_TARGET not supported on this system

    一台虚拟机跑多个实例时,由于/dev/shm空间不够导致如下报错> startupORA-00845: MEMORY_TARGET not supported on this system解决方 ...