Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

操作数类型冲突: uniqueidentifier 与 bigint 不兼容 #1236

Closed
xiaochanghai opened this issue Apr 19, 2024 · 11 comments
Closed

操作数类型冲突: uniqueidentifier 与 bigint 不兼容 #1236

xiaochanghai opened this issue Apr 19, 2024 · 11 comments

Comments

@xiaochanghai
Copy link

提示: 操作数类型冲突: uniqueidentifier 与 bigint 不兼容

方法:await _db.Queryable().WithCacheIF(blnUseCache, 10).In(objId).SingleAsync()
objId 是guid类型

不知道如何解,麻烦作者赐教 谢谢
image

实体主键是guid类型

@DotNetNext
Copy link
Owner

DotNetNext commented Apr 19, 2024

问题描述清楚
1、数据库是什么?
2、objId是什么类型
3、数据库主键是什么类型
4、错误的 message是什么

@xiaochanghai
Copy link
Author

问题描述清楚 1、数据库是什么? 2、objId是什么类型 3、数据库主键是什么类型 4、错误的 message是什么

数据库是 sql server
objId是guid
数据库主键是guid
错误的 message是操作数类型冲突: uniqueidentifier 与 bigint 不兼容

@DotNetNext
Copy link
Owner

截图具体错误

@xiaochanghai
Copy link
Author

截图具体错误

image

@DotNetNext
Copy link
Owner

db.CodeFirst.InitTables<Uniatafa>();//建表
object id1 = Guid.NewGuid();
db.Insertable(new Uniatafa() { Name = "a", xx = (Guid)id1 }).ExecuteCommand();
var list = db.Queryable<Uniatafa>().InSingleAsync(id1).GetAwaiter().GetResult();
 public class Uniatafa
 {
     [SugarColumn(IsPrimaryKey =true)]
     public Guid xx { get; set; }
     public string Name { get; set; }
 }

不能重现你说的问题,上面测试用例 写一个可以重现的 DEMO

@DotNetNext
Copy link
Owner

我怀疑是你数据库类型有问题可能你数据库是 bigint

@xiaochanghai
Copy link
Author

db.CodeFirst.InitTables<Uniatafa>();//建表
object id1 = Guid.NewGuid();
db.Insertable(new Uniatafa() { Name = "a", xx = (Guid)id1 }).ExecuteCommand();
var list = db.Queryable<Uniatafa>().InSingleAsync(id1).GetAwaiter().GetResult();
 public class Uniatafa
 {
     [SugarColumn(IsPrimaryKey =true)]
     public Guid xx { get; set; }
     public string Name { get; set; }
 }

不能重现你说的问题,上面测试用例 写一个可以重现的 DEMO

好的 我试试 谢谢

@xiaochanghai
Copy link
Author

我怀疑是你数据库类型有问题可能你数据库是 bigint
数据库是guid的 这个可以确定 数据库是老项目设计好的

@DotNetNext
Copy link
Owner

那就需要DEMO了,不能重现

@xiaochanghai
Copy link
Author

那就需要DEMO了,不能重现

抱歉啊 我测试demo是ok的 可能是我自己封装的仓库里面写的有问题
我在找找 谢谢

@xiaochanghai
Copy link
Author

那就需要DEMO了,不能重现

麻烦关一下issue 谢谢 打扰了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants