没有为类型'System.Int64'和& # 39;System.Decimal& # 39;
本文关键字:System 类型 Decimal Int64 | 更新日期: 2023-09-27 18:19:03
我在Linqpad中有这个奇怪的问题,"有时"我试图做这样的查询:
decimal appId = 8463054;
var pp = APPLICATIONS.Where(a => a.APPLICATION_ID == appId);
pp.Dump();
我得到这个错误:
InvalidOperationException
The binary operator Equal is not defined for the types 'System.Int64' and 'System.Decimal'.
你知道是什么问题吗?
像这样修改代码:
long appId = 8463054; // long is just a keyword for System.Int64
没有必要将其声明为小数,因为无论如何都不使用小数。
问题是appId是十进制的。只要声明为long:
long appId = 8463054;
var pp = APPLICATIONS.Where(a => a.APPLICATION_ID == appId);
pp.Dump();