C#.NET MySql8.0 EF db first
.net framework 4.5.2,winform 程序。
mysql 8.0
1.nuget中引用EntityFramework,6.4.4
2.nuget中引用MySql.Data.EntityFramework,8.0.18。(如果是设计器模式 ADO.NET 实体数据模型,不用要 8.0.23 否则会出现2次数据库名的情况)
引用之后,可以观察到app.config中加入了2个provider:
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.18.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
在此上添加个连接:
<connectionStrings>
<add name="WorldDbContext" connectionString="server=192.168.2.167;user id=root;password=some;database=world" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
以演示数据库:world,city表为例,添加实体类:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; namespace MySqlDbFirst.DbModel
{
public class city
{
[Key] //主键
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增
public int ID { get; set; }
public string Name { get; set; }
public string CountryCode { get; set; }
public string District { get; set; }
}
}
添加DbContext:
using MySqlDbFirst.DbModel;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions; namespace MySqlDbFirst.DbCon
{
public class WorldDbContext: DbContext
{
public WorldDbContext()
: base("name=WorldDbContext")
{
} protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//移除复数表名
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
} public virtual DbSet<city> Citys { get; set; }
}
}
代码中使用:
List<city> aa = new List<city>();
using (WorldDbContext db = new WorldDbContext())
{
aa= db.Citys.Take(100).ToList();
}
如果遇到:输入字符串的格式不正确。
一般是实体类字段和数据库中不匹配。
C#.NET MySql8.0 EF db first的更多相关文章
- window mysql8.0 zip版本安装
第一步下载安装包 官方下载地址:https://dev.mysql.com/downloads/mysql/ 解压到D盘目录中D://db 第二步配置环境变量 编辑path内容 添加mysql地址 第 ...
- Centos7安装MySQL8.0 - 操作手册
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一. Mysql8.0版本相比之前版本的一些特性 1) ...
- 使用二进制安装包的方式单机部署MySQL8.0.13
使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...
- 源码编译安装MySQL8.0
源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...
- 初学者在Mysql8.0连接时的几个常见基本问题
最近在做一些java web整合时使用的最新版Mysql8.0.3,发现Mysql连接中的几个问题,总结如下: package db; import java.sql.*; public class ...
- mysql-8.0.11 比较坑的地方dba门要淡定
[事件描述] 突然之间大量的连接进入数据库.并放开手干,这个使得mysql使用了大量的内存,触发了linux的oom机制.然后mysql就这样 被linux给干掉了.没错MySQL宕机了,要相信我说的 ...
- yum localinstall 安装mysql8.0
MySQL :: MySQL 8.0 Reference Manual :: 2.5.1 Installing MySQL on Linux Using the MySQL Yum Repositor ...
- Centos7安装MySQL8.0
请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...
- MySQL-08 MySQL8.0新特性
性能 MySQL 8.0 在一定的用户访问条件下,速度要比 MySQL 5.7 快 2 倍.MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载.IO 密集型工作负载.以及高竞争(" ...
- PDO连接mysql8.0报PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers错误
安装mysql8.0之后,尝试使用php连接mysql,总是报PDO::__construct(): Server sent charset (255) unknown to the client. ...
随机推荐
- word文档怎么让封面没有页码,页码从正文开始(word 2019)
1.打开需要插入页码的文档,光标放在正文处的开头,然后点击word窗口中的 [布局] ---> 选择[分隔符] -->选择 [分节符] 下面的 [连续]; 2.然后选择word功能区 ...
- KubeDL HostNetwork:加速分布式训练通信效率
简介:ubeDL 为分布式训练作业带来了 HostNetwork 网络模式,支持计算节点之间通过宿主机网络相互通信以提升网络性能,同时适应 RDMA/SCC 等新型高性能数据中心架构的网络环境,此外 ...
- 在 Dubbo3.0 上服务治理的实践
简介: Dubbo 3.0 是在云原生背景下诞生的,使用 Dubbo 构建的微服务遵循云原生思想,能更好的复用底层云原生基础设施.贴合云原生微服务架构. Dubbo3.0 介绍 作者 | 十眠 自从 ...
- [FAQ] FastAdmin epay 微信公众号支付 JSAPI 支付必须传 openid ?
使用 FastAdmin 的 epay 插件时,我们通过传不同的 method 决定支付方式. method=mp 时表示公众号支付,此时必须要 openid,但是插件里并没有说明如何获取. 其实这个 ...
- WPF 已知问题 清空 CollectionView 的 SortDescriptions 可能抛出空异常
本文记录一个 WPF 的已知问题,在通过 CollectionViewSource 获取到 CollectionView 之后,如果 CollectionViewSource 对象已被 GC 回收,将 ...
- 国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)
国内开源镜像站点 大学 清华大学开源软件镜像站 (使用较多) 中国科学技术大学开源软件镜像 (使用较多) 浙江大学开源镜像站 (主要是各发行版Linux,pip等常用库) 哈尔滨工业大学开源镜像站 ( ...
- Prometheus+Grafana+alertmanager构建企业级监控系统(三)
七.Prometheus监控扩展 7.1 Promethues 采集tomcat监控数据 tomcat_exporter地址:https://github.com/nlighten/tomcat_ex ...
- Oracle、达梦:获取两个表中差异的数据:minus(减法)
Oracle.达梦:获取两个表中差异的数据:minus(减法) mysql没有.需要用别的方式替换 表结构必须一致,数据也必须一致才能减去 真实意思:T_1中的数据减去T_2中的数据.返回还多余的数据 ...
- 《最新出炉》系列入门篇-Python+Playwright自动化测试-42-强大的可视化追踪利器Trace Viewer
1.简介 在我们日常执行自动化测试工作的过程中,经常会遇到一些偶发性的bug,但是因为bug是偶发性的,我们不一定每次执行都能复现,所以我们在测试执行的时候,追踪用例执行就变得非常重要了.playwr ...
- Centos7 忘记密码的解决方法
ilo远程修改 重启服务器,点击cold boot 按钮. 开机后,进入内核上按"e",进入编辑模式 在linux删除linux16这一行的地方,写入如下语句,在*.img行之前. ...