操作数类型冲突: 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) 即可!

原文地址:https://www.cnblogs.com/gzbit-zxx/p/13575665.html