首页 新闻 会员 周边 捐助

codeFirst 创建数据库 使用Add-Migration时

0
[已解决问题] 解决于 2022-03-03 15:23

System.Runtime.Serialization.SerializationException: 未解析成员“System.Data.Entity.Migrations.Design.ToolingFacade+ScaffoldRunner,EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的类型。

信海哥的主页 信海哥 | 菜鸟二级 | 园豆:222
提问于:2020-02-22 19:05
< >
分享
最佳答案
0

试试 Solving SerializationException with Entity Framework 6 tooling 中的方法,在 app.config 或者 web.config 中将 EntityFramework 的 bindingRedirect 改为:

<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
奖励园豆:5
dudu | 高人七级 |园豆:29732 | 2020-02-22 19:29

在app.config entityFramework没看见这个代码
而且 我不知道把这句话放在那里

信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 11:47
其他回答(1)
0

你的连接字符串写对了吗,或者你瞅瞅你的ef和你.net的版本是不是对应的,如果你觉的没错,那么你要相信敲代码是个玄学,重写一次没准就对了。。。。

乾子 | 园豆:347 (菜鸟二级) | 2020-02-22 19:31

ef和.net版本?.net版本具体什么意思?请指教

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 11:40

@信海哥:
这个,你瞅瞅你安装的 ef版本是啥,还有你.Netframwork 的版本是4.几的, 我以前写过老项目,ef 默认安装最新版的,当时死活不对

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 11:45

@乾子: net 是4.7.1版本 ef 是6.10.9.0

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 11:50

@信海哥: 咦,那应该没问题了,这样一步一步来
1、 看你数据库连接字符串 web.config 里面的配置写错了没
2、你的实体类应该是没错,
3、看你的Context上下文 写对了没
4、敲命令
enable-migrations
add-migration XXX
update-database

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:01

@乾子: 还是版本的问题 我用了ef 6.9版本的 没问题
但又出问题了
PM> Add-Migration asdg
No MigrationSqlGenerator found for provider 'MySql.Data.MySqlClient'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators.

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:06

@信海哥: 在 Migrations 資料夾內的 Configurations.cs 加入以下:

public Configuration()
{
AutomaticMigrationsEnabled = false;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
}
重新敲 add-migration 指令。就可成功。

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:12

@乾子: 成功了大神
请问加这句话是啥意思
为什么sqlserver数据库不用加这些

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:17

@信海哥: 这东西怎么说呢,微软肯定对自己家的东西格外上心,对别的就bug多点,就仿佛现在.netcore 3.1 里面用ef core映射mysql官方驱动包现在还不支持呢,只能找第三方的

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:21

@乾子: 说的好像很有道理
还有就是都有ef这种东西了 老师也没怎么叫sql语句 几乎都是用ef来做的
面试的时候 还是会问我会不会sql语句
这sql语句除了增删改查还要知道别的吗 没什么了吧

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:30

@信海哥: 你要不走DBA或者运维,sql的话知道增删改查知道咋优化就可以了

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:33

@乾子: DBA 和运维是啥 苦笑

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:36

@信海哥: 😂 😂 😂 数据库管理员,你如果走程序猿的话,数据库能多懂点就多懂点

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:45

@乾子: 新手一个 啥也不懂
数据库要怎么学啊 ef不是更方便一点吗

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:49

@信海哥: 你说的方便是他web端比纯sql快,但是ef说白了最后也是转到数据库里面也是sql,至于怎么学的话,看文档吧,而且一定要看书

支持(0) 反对(0) 乾子 | 园豆:347 (菜鸟二级) | 2020-02-23 12:52

@乾子: 看书。。 看来要等我学会了在梦里看书这项技能的时候 才是我学会数据库的时候了

支持(0) 反对(0) 信海哥 | 园豆:222 (菜鸟二级) | 2020-02-23 12:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册