试试 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" />
在app.config entityFramework没看见这个代码
而且 我不知道把这句话放在那里
你的连接字符串写对了吗,或者你瞅瞅你的ef和你.net的版本是不是对应的,如果你觉的没错,那么你要相信敲代码是个玄学,重写一次没准就对了。。。。
ef和.net版本?.net版本具体什么意思?请指教
@信海哥:
这个,你瞅瞅你安装的 ef版本是啥,还有你.Netframwork 的版本是4.几的, 我以前写过老项目,ef 默认安装最新版的,当时死活不对
@乾子: net 是4.7.1版本 ef 是6.10.9.0
@信海哥: 咦,那应该没问题了,这样一步一步来
1、 看你数据库连接字符串 web.config 里面的配置写错了没
2、你的实体类应该是没错,
3、看你的Context上下文 写对了没
4、敲命令
enable-migrations
add-migration XXX
update-database
@乾子: 还是版本的问题 我用了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.
@信海哥: 在 Migrations 資料夾內的 Configurations.cs 加入以下:
public Configuration()
{
AutomaticMigrationsEnabled = false;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
}
重新敲 add-migration 指令。就可成功。
@乾子: 成功了大神
请问加这句话是啥意思
为什么sqlserver数据库不用加这些
@信海哥: 这东西怎么说呢,微软肯定对自己家的东西格外上心,对别的就bug多点,就仿佛现在.netcore 3.1 里面用ef core映射mysql官方驱动包现在还不支持呢,只能找第三方的
@乾子: 说的好像很有道理
还有就是都有ef这种东西了 老师也没怎么叫sql语句 几乎都是用ef来做的
面试的时候 还是会问我会不会sql语句
这sql语句除了增删改查还要知道别的吗 没什么了吧
@信海哥: 你要不走DBA或者运维,sql的话知道增删改查知道咋优化就可以了
@乾子: DBA 和运维是啥 苦笑
@信海哥: 😂 😂 😂 数据库管理员,你如果走程序猿的话,数据库能多懂点就多懂点
@乾子: 新手一个 啥也不懂
数据库要怎么学啊 ef不是更方便一点吗
@信海哥: 你说的方便是他web端比纯sql快,但是ef说白了最后也是转到数据库里面也是sql,至于怎么学的话,看文档吧,而且一定要看书
@乾子: 看书。。 看来要等我学会了在梦里看书这项技能的时候 才是我学会数据库的时候了