在VisualStadio2015上使用EF6.0建立MySql数据库

1.新建工程

2.建立类的文件夹DAL

3.建立相关类

【Student类】

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ETTest3
{
public class Student
{
public int Id { get; set; }
public string LastName { get; set; }

}
}

【School类】

using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ETTest3
{
public class SchoolContext : DbContext
{
public SchoolContext() : base("MyContext") { }
public DbSet<Student> Students { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
}

4. 引用EF6.0 Mysql.Entity

5.调整配置文件 app.config

<connectionStrings>
<add name="MyContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=test;user id=root;password=123456;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<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.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>

6 测试建立数据库

try
{
SchoolContext ctx = new SchoolContext();
ctx.Database.Initialize(true);
var o = new Student();
o.Id = 1;
o.LastName = "aa";
ctx.Students.Add(o);
ctx.SaveChanges();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}

7.测试成功,打开数据库,可以见到mysql里增加一个库test ,里面有一张表student

8 数据表中的字段发生变化情况处理

如果变动比较小,比如新增或删除一两个字段
先备份好数据库以后 直接进行数据表操作,将你的数据模型和数据库表做上对应就好了,
需要注意的是,项目上线一般需要将DataContext设置一下
Database.SetInitializer<DataContext>(null);
而不能设置
Database.SetInitializer<DataContext>(new DropCreateDatabaseIfModelChanges<DataContext>());或者
Database.SetInitializer<DataContext>(new DropCreateDatabaseAlways<DataContext>());等等其他方式,
以防意外导致数据库被删除,重新生成(因为自己添加字段可能与你的模型映射不一致)

如果改动非常大,那么可能就要换另外一种方案了,数据迁移,或者自己导入数据。

时间: 2024-12-21 21:31:42

在VisualStadio2015上使用EF6.0建立MySql数据库的相关文章

如何正确合理的建立MYSQL数据库索引

如何正确合理的建立MYSQL数据库索引 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( IDINTNOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin

【码上开心】Windows环境mysql数据库使用(二)skip-grant-tables 与用户名密码修改

skip-grant-tables #跳过数据库权限验证 我们安装MySql 设置my.ini配置文件的时候,常常会在my.ini中添加 skip-grant-tables ,这时接数据库可以使用任意账号或者密码了. 这里顺便说一下,如何[通过 skip-grant-tables重置账户密码]: 到mysql根目录找到mysql配置文件 在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查 如果mysql服务在运行,通过停 net stop mysql 止mysql服务 重新通过 

在Ubuntu中建立MySQL数据库

最近在做一个关于云计算安全系统的项目,需要用到MySQL数据库,现在把建立数据库的步骤记录下来. 一.用命令在Ubuntu上安装MySQL # sudo apt-get update # sudo apt-get upgrade # sudo apt-get -f install 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-d

如何正确建立MYSQL数据库索引

索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin"的记录

zabbix3.0监控mysql数据库

根据Percona官方提供的方案来做对MySQL数据库的监控,具体请参考:https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html 1.首先安装Percona源 # yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm 2.安装zabbix A

vc6.0运用mysql数据库中的编码所导致的乱码问题(接收和输出的编码必须要一致)

[编译中遇见的问题]       ①在用vc 6.0去调用MySQL中的数据时,出现中文乱码       ②不明白mysql中的码制 [开始解决问题]      ①打开mysql控制台        ②开始展示自己        ③打开vc 6.0(配置mysql环境在这里我就不哆嗦了) 走起.....在vc 6.0中复制下列代码,进行连接mysql和调用代码如下: #include <Windows.h>#include <stdio.h>#include <stdlib.

【码上开心】Windows环境mysql数据库使用(四) 开通远程访问权限

由于 MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问. 需要特殊配置,才可实现远程客户端访问,在调试过程中,这个功能是蛮有必要的. 1.在连接服务器后,操作mysql系统数据库 命令为:  mysql -u root -p 输入密码,登录mysql 执行 use mysql; 查询用户表命令: select User,authentication_string,Host from user; 这里也可以看出host默认都是local

PHP7.0连接MYSQL数据库代码

1.<?php $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_username="root"; //改成自己的mysql数据库用户名 $mysql_password="qmtg"; //改成自己的mysql数据库密码 $mysql_database="testmydatabase"; //改成自己的mysql数据库名 $conn=new mysqli($mysql_ser

Asp.net Core 2.0连接mysql数据库一系列错误问题

mysql:最新版 一定是最新版,不然各种报错 Install-Package Pomelo.EntityFrameworkCore.MySql 2.0.0-rtm-10057 02 03 第四部 最后