在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>());等等其他方式,
以防意外导致数据库被删除,重新生成(因为自己添加字段可能与你的模型映射不一致)

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

 

转载于:https://www.cnblogs.com/meetweb/p/5572005.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

固定列表的表格

固定的行&#xff1a;行名称不一样&#xff0c;每一个值对应赋值 html&#xff1a; <el-table class"table-box" :data"allObj.peoArr"><el-table-column prop"name" min-width"130"></el-table-column><el-ta…

拼图算法分析...

From: http://blog.sina.com.cn/s/blog_6a4b57e30100mfch.html 一、题目说明&#xff1a;   &#xff08;九宫问题&#xff09;在一个&#xff13;&#xff13;的九宫中有&#xff11;&#xff0d;&#xff18;这&#xff18;个数及一个空格随机的摆放在其中的格子里&#…

uni-app小程序本地打包超过2M不能预览问题;小程序打包过大不能预览和真机调试;uni-app分包;

一、问题&#xff1a;我们在小程序工具中开发时候&#xff0c;需要本地打包&#xff0c;但是当本地的打包文件大于2M时候&#xff0c;预览的二维码就会有问题&#xff0c;导致真机扫码打不开或者有遗漏。 二、此时就需要开启分包 1.微信小程序每个分包的大小是2M&#xff0c;总…

Asp.Net MVC开源CMS - Orchard

最近在学习Asp.Net MVC, 一直是step by step地看官方文档。 想找个成熟的MVC开发的开源系统&#xff0c;系统学习一下MVC, 搜索了一下&#xff0c;惊喜的发现了Orchard. 这个是介绍 2011/01/21号发布的关于Orchard的介绍&#xff0c;说明Orchard还是一个非常新鲜的事物。以后会…

拼图游戏及其相关算法

From: http://blog.sina.com.cn/s/blog_4ed8b87701011c6x.html 这个问题其实可以简单表述成&#xff0c;3*3的格子装了1至8&#xff0c;8个数字&#xff0c;数字是随机分布于各个格子中&#xff0c;问是否可以利用空格的格子&#xff0c;移动装有数字的格子最终达到某种序列&a…

在移位数组中查找数

题目描述&#xff1a; 一个数组是由一个递减数列左移若干位形成的&#xff0c;比如{4&#xff0c;3&#xff0c;2&#xff0c;1&#xff0c;6&#xff0c;5}是由{6&#xff0c;5&#xff0c;4&#xff0c;3&#xff0c;2&#xff0c;1}左移两位形成的&#xff0c;在这种数组中查…

小程序分享功能记录;小程序页面分享给好友携带参数

需求&#xff1a; 现有首页index和新增车辆页add-car。 正常操作流程是&#xff1a;从首页index点击按钮&#xff0c;会携带参数id跳转到新增车辆页add-car。 现在需求是用户A从首页index携带参数id跳转到新增车辆页add-car&#xff0c;在add-car页面点击分享按钮&#xff0c;将…

mysql事务处理

2019独角兽企业重金招聘Python工程师标准>>> ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1&#xff0c;MySQL的事务支持 MySQL的事务支持不是绑定在MySQL服务器本身&#xff0c;而是与存储引擎相关&#x…

记录一次uni-app页面跳转无效 来回跳转问题

问题&#xff1a;本身代码写的有问题导致的。从首页A跳转到新增页面B&#xff0c;在B页面点击保存后&#xff0c;再跳到首页A。此时在首页A&#xff0c;这时候无论点击跳转哪个页面&#xff0c;跳转成功后都会立即再跳回首页。 原因&#xff1a;B页面保存后&#xff0c;因为加了…

IE6双倍边距

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;IE6双倍边距这个问题其实早在学习CSS之初都已经知道如何解决&#xff0c;但当时只知道如何解决而并不知道引起这个BUG的原因是什么&#xff0c;再接下来工 作过程中不断实践也终于明白是怎么回事了。但最…

typeid详解

From: http://www.cppblog.com/smagle/archive/2010/05/14/115286.aspx 在揭开typeid神秘面纱之前&#xff0c;我们先来了解一下 RTTI &#xff08;Run-Time Type Identification&#xff0c;运行时类型识别&#xff09;&#xff0c;它使程序能够获取由基指针或引用所指向的对…

H5静态页面跳转微信小程序;从外部浏览器,点击H5链接跳转打开微信小程序;以及在微信内直接点击H5链接打开微信小程序;

参考链接 需求&#xff1a;从外部浏览器&#xff0c;点击H5链接跳转打开微信小程序&#xff1b;以及在微信内直接点击H5链接打开微信小程序&#xff1b; 步骤1&#xff1a; 小程序开发需要使用云开发创建项目&#xff0c;使用云开发生成的项目会自带云函数文件夹&#xff1b;…

c简单的链表错误及改正

2019独角兽企业重金招聘Python工程师标准>>> 以下代码运行时崩溃&#xff1a; #include <iostream> using namespace std; struct node { int num; struct node * next; }; node * creat() { node * headNULL;node*HEADhead; cout<<"输入数字&…

uni-app微信小程序跳转公众号;微信小程序打开公众号;微信小程序识别二维码添加好友;微信小程序通过公众号添加好友;小程序里识别企业微信二维码点击联系人名片无反应?

需求&#xff1a; 在微信小程序页面中&#xff0c;长按识别图片二维码&#xff0c;识别出联系人后&#xff0c;点击添加好友&#xff1b; 问题&#xff1a;微信官方社区说是小程序添加不了好友&#xff1b; 解决方案&#xff1a; 目前只能通过微信小程序跳转至公众号&#xf…

A*算法入门

From: http://www.cppblog.com/mythit/archive/2009/04/19/80492.aspx 在看下面这篇文章之前&#xff0c;先介绍几个理论知识&#xff0c;有助于理解A*算法。 启发式搜索&#xff1a;启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估&#xff0c;得到最好的位置&a…

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱&#xff0c;接下来将以问题的形势讲解tp&#xff08;ThinkPHP的简写&#xff09; 1.tp框架是什么&#xff0c;为什么使用是它&#xff1f; 一堆代码的集合&#xff0c;里边有变量、函数、类、常量&#xff0c;里边也有许多设计模式MVC、AR数据库、单…

uni-app文档需要注意细节点

1.非H5端&#xff0c;不能使用浏览器自带对象&#xff0c;比如document、window、localstorage、cookie等&#xff0c;更不能使用jquery等依赖这些浏览器对象的框架。因为各家小程序快应用都不支持这些对象。 2.APP 和小程序的导航栏和 tabbar 均是原生控件&#xff0c;元素区…

VMware里装XP 没有找到硬盘驱动器

遇到问题&#xff1a;解决&#xff1a;要给虚拟机配上一个虚拟的硬盘驱动器。在VMWare的虚拟机配置里面给这个虚拟机增加硬盘&#xff0c;选IDE模式&#xff0c;而非SCSI&#xff0c;设定硬盘大小和文件名就可以了。转载于:https://www.cnblogs.com/haxianhe/p/9271196.html

serv-u无法自动启动:无法开始服务器!服务器执行缺少

我在服务器上安装了一个serv-u 6.3版本&#xff0c;安装的时候一切正常。安装后想设置为自动开设&#xff08;系统服务&#xff09;勾打上时候&#xff0c;开设报错。在服务里面查看&#xff0c;发现servu的服务器没有起来&#xff0c;手动启动也不行。网上查了很多方法&#x…

uni-app微信小程序登录;uni-app微信登录小程序;uni-app微信登录app;

思路&#xff1a; 通过uni-app文档可知:实现微信登录&#xff0c;无论是app还是小程序&#xff0c;都需要唯一标识openid&#xff0c;然后通过openid取掉后端的登录接口&#xff0c;获取cookie然后做登录跳转&#xff1b; 【-【-【必须先调用微信的登录接口uni.login&#xff0…