Dapper 主键Guid类型,Insert时候一直提示无法将guid隐士转换为int问题

【Help】 2017-06-05 12:11:17
用到DapperExtensions,在做insert的时候提示无法将guid隐士转换为int问题,映射的时候已经制定 Map(f => f.UserID).Key(KeyType.Guid);主键并且guid,但是到insert方法的时候就会提示这个,难道只能改数据库为int类型才行了吗?DapperExtensions不支持guid主键?
...全文
1911 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
jankie1122 2018-02-02
  • 打赏
  • 举报
回复
我知道错误原因了,原来不是主键设置的问题,是返回的时候,我写了Int,它成功插入后,返回的是一个string,天哪,这个也太坑了吧 int insertInt = _IDbConnection.Insert(obj, null); 所以正确的应该这样写: string insertInt = _IDbConnection.Insert(obj, null);
小麦君 2017-07-18
  • 打赏
  • 举报
回复
麻烦问下怎么解决的,我遇到同样的问题
【Help】 2017-06-05
  • 打赏
  • 举报
回复
谢谢各位,自己解决了
  • 打赏
  • 举报
回复
引用 10 楼 zhanglong_longlong 的回复:
[quote=引用 8 楼 duanzi_peng 的回复:] [quote=引用 6 楼 zhanglong_longlong 的回复:] [quote=引用 4 楼 duanzi_peng 的回复:] 难道只能改数据库为int类型才行了吗 -》int 为整数数值类型。你把数据库中的字段改成varchar(36)类型
Dapper这样插入就不能直接guid类型吗?必须要改成varchar或者其他吗?[/quote] 程序中的 UserID 是什么类型的?[/quote]我现在使用DapperExtensions的insert方法,主键不管是guid还是string,他都会提示无法隐士转换为int类型,不知道有什么解决方法[/quote] https://stackoverflow.com/questions/23585672/dapper-crud-with-guid-ids
【Help】 2017-06-05
  • 打赏
  • 举报
回复


都是一样的必须为int,还是没有人正确的回答我的提问
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 18 楼 hdt 的回复:
网上帮你查了一下 试试把数据库那一列改为uniqueidentifier类型 直接用guid插入
我前面已经说过,guid都是一样
真相重于对错 2017-06-05
  • 打赏
  • 举报
回复
网上帮你查了一下 试试把数据库那一列改为uniqueidentifier类型 直接用guid插入
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 16 楼 hdt 的回复:
是不是因为你把那一列设为主键的缘故?
不是数据库设置不设置,而是他应该默认已包含ID来默认主键,也只有主键会不能插入,其他guid正常插入
真相重于对错 2017-06-05
  • 打赏
  • 举报
回复
是不是因为你把那一列设为主键的缘故?
【Help】 2017-06-05
  • 打赏
  • 举报
回复
不知道有没有真正知道我说的这个问题
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 13 楼 hdt 的回复:
[quote=引用 12 楼 zhanglong_longlong 的回复:] 请先看标题后在回复,谢谢,关于DapperExtensions的insert方法,主键不管是guid还是string插入,他都会提示无法隐士转换为int类型,不知道有什么解决方法
我不用.net很多年,你说那些新东西,我不知道。我想string是应该可以直接插入的,你只要把原直接改成string就可以了,也就是我说的tostring. [/quote]
真相重于对错 2017-06-05
  • 打赏
  • 举报
回复
引用 12 楼 zhanglong_longlong 的回复:
请先看标题后在回复,谢谢,关于DapperExtensions的insert方法,主键不管是guid还是string插入,他都会提示无法隐士转换为int类型,不知道有什么解决方法
我不用.net很多年,你说那些新东西,我不知道。我想string是应该可以直接插入的,你只要把原直接改成string就可以了,也就是我说的tostring.
【Help】 2017-06-05
  • 打赏
  • 举报
回复
请先看标题后在回复,谢谢,关于DapperExtensions的insert方法,主键不管是guid还是string插入,他都会提示无法隐士转换为int类型,不知道有什么解决方法
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 9 楼 hdt 的回复:
简单的可以guid.tostring()存入 读取guid.fromstring()
我现在使用DapperExtensions的insert方法,主键不管是guid还是string,他都会提示无法隐士转换为int类型,不知道有什么解决方法
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 8 楼 duanzi_peng 的回复:
[quote=引用 6 楼 zhanglong_longlong 的回复:] [quote=引用 4 楼 duanzi_peng 的回复:] 难道只能改数据库为int类型才行了吗 -》int 为整数数值类型。你把数据库中的字段改成varchar(36)类型
Dapper这样插入就不能直接guid类型吗?必须要改成varchar或者其他吗?[/quote] 程序中的 UserID 是什么类型的?[/quote]我现在使用DapperExtensions的insert方法,主键不管是guid还是string,他都会提示无法隐士转换为int类型,不知道有什么解决方法
真相重于对错 2017-06-05
  • 打赏
  • 举报
回复
简单的可以guid.tostring()存入 读取guid.fromstring()
  • 打赏
  • 举报
回复
引用 6 楼 zhanglong_longlong 的回复:
[quote=引用 4 楼 duanzi_peng 的回复:] 难道只能改数据库为int类型才行了吗 -》int 为整数数值类型。你把数据库中的字段改成varchar(36)类型
Dapper这样插入就不能直接guid类型吗?必须要改成varchar或者其他吗?[/quote] 程序中的 UserID 是什么类型的?
【Help】 2017-06-05
  • 打赏
  • 举报
回复
现在的问题是我数据库换成varchar他还是会提示无法将string转换为int,DapperExtensions Insert方法只支持Int类型?
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
难道只能改数据库为int类型才行了吗 -》int 为整数数值类型。你把数据库中的字段改成varchar(36)类型
Dapper这样插入就不能直接guid类型吗?必须要改成varchar或者其他吗?
【Help】 2017-06-05
  • 打赏
  • 举报
回复
引用 3 楼 hdt 的回复:
guid 是128位,int 32位才32位,怎么能存的下?
请看下标题,我不是说直接guid转换int,我是DapperExtensions Insert方法的时候,如果主键是guid类型,插入的时候就一直会出现这个错误提示,请问有什么可以解决,不知道他内部哪里做转换
加载更多回复(4)

62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧