操作数类型冲突: uniqueidentifier 与 bigint 不兼容
问题描述:操作数类型冲突: uniqueidentifier 与 bigint 不兼容; 当我在做数据库字段变更时,以前的数据类型是 Guid 变更为 Long 或者 Int 时报错!
C#代码示例:
public virtual Guid AgentId { get; set; } // AgentId
改变为
public virtual long AgentId { get; set; }
执行 add-migration 后再执行 update-database 报错情况;
Sql Server 数据库案例:
解决方案:不要直接从 Guid 变到 Int 或者 long ,我们需要添加桥梁,那就是使用string 来作为桥梁。
我们先将 Guid 改变为 String 执行生成数据库,再将 String 改为 long 或者 int ,再执行生成数据库即可。如果在数据库设计中报错也同样如此。现将Guid(uniqueidentifier) --》(String)varchar -》Long(bigint)或者 Int(int) 即可!
作者:幸福摩天轮
------------------------------------------------
愿今日之努力日后想起还能浅浅一笑,不愿今日之颓废用长长一生去悔恨!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!