EF6.0 + Mysql 在.NET中通过Nuget安装

这个在我花了大力气的情况下终于搞通了,日了狗。。
直接说正事。

此处达到的目的是能够通过Nuget的命令行直接在mysql中创建数据库的表。

1.先行条件,需要创建好对应的model。(此处需要以后再来补)
2.通过Nuget安装好各个工程。

那么下面正式开始

1.创建一个.NET的库的工程。(为什么要单独一个工程呢,因为此处主要是与数据库相关的操作,为了解耦将其分开)

Paste_Image.png

2.然后在Mysql官网的里面,找到了安装的前置条件。
https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

Paste_Image.png

这个集合包整合了所有的东西,因此只安装这个就够了。

3.此时可能会出来一个APP.CONFIG文件,当然先不用去管

4.创建一个

创建ADO.NET
选择模型内容

建议空的codefirst的模型

5.创建完成之后,就开始要关注各种东西了,首先,你的APP.CONFIG中会多出些东西来。
你需要将其中几个关键的东西改正。这里是最关键的一环,因为我在这里整了半天!!!!!

关键的图片

6.那么在刚刚的ADO.NET连接数据库的东西我们可以写入

Paste_Image.png

7.打开Nuget命令行工具,将该工程设为启动项,然后命令行对象调整为该工程
输入指令
PM> Enable-Migrations
然后输入
PM> Add-Migration AddDatabase
生成了

Paste_Image.png

再输入
PM> Update-Database -Verbose
此时数据库中就多出来创建好的表格了。

注意:有几个可能出错的地方。
1.切勿多次用Nuget安装一个个的包。entities的那个包已经是对应好的组合包了,直接安装那一个,别的都别动。否则会出一些很奇怪的错误。可能是各个版本的问题。

2.The connection string 'MyContext' in the application's configuration file does not contain the required providerName attribute."
这个错误的原因是,在connectstring中的那个providerName="MySql.Data.MySqlClient"没有添加,Nuget不会带有这个的,在前面的说明中有提到

3.No MigrationSqlGenerator found for provider 'MySql.Data.MySqlClient'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators.
这个错误的原因是,在你的ADO.NET那个cs文件中没有加上[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]

Paste_Image.png

4.No connection string named 'MyContext' could be found in the application config file.
需要将对应的工程改为启动项,此处config文件在多个工程联动的情况下会出现问题,有兴趣的可以研究下。

5.若是一切都正常了,你发现丫的半天没有表出来,哈哈,记得最后一句代码。
PM> Update-Database -Verbose

Paste_Image.png

如果数据库里面没有这个表会导致后续的数据库更新失败。

7.存储过程在添加字段或者删除字段的时候有可能会影响,所以MapToStoredProcedures 干脆就不要写在modelcreating的方法下面了。记得把configuration中的false改为这两个。


Paste_Image.png

8.Parameter '@columnType' must be defined


连接串中添加

哦了。后续的补充我会在研究过后再贴上,伤不起啊,不过个人觉得研究中你会学到很多。不是指学到了怎么安装,而是怎么去解决这些问题。我能找到Mysql上的对这个的介绍,也能找到stackoverflow上的一些些东西。还有最关键的一点,如果你搜的问题丫的哪里都找不到,果断重建一个工程,因为很有可能像我之前一样,工程添加多次,config文件中一大推,对的也不对了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容