在执行ef 数据迁移过程中,会遇到一些问题。下面针对问题,做一些解决方案的记载
问题1 生成的数据迁移脚本不是最新
如果你的EF 仓储是泛型DBCONTEXT上下文环境,由于项目库的依赖关系,加之vs自带缓存DLL 程序集机制。回到导致你已经执行数据迁移命令,但是生成的数据迁移脚本是错误,还是旧的,没有更新过来,这个时候只能手动找到项目生成目录,1删除DLL ,2并执行清理操作,3重新生成项目,如此才会清除DLL缓存,更新生成新的数据迁移执行脚本
问题2 GUID字段修改INT 字段 uniqueidentifier 与 int 不兼容
如果直接修改源代码把GUID类型修改成INT 类型 ,执行ef code first 数据迁移会失败,错误信息是:uniqueidentifier 与 int 不兼容
这个是SQL 脚本机制不支持由guid 类型直接转化为int 类型,解决方案是:先删除guid 字段,在新增int 字段