我在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'.
知道问题是什么?
答案 0 :(得分:1)
更改您的代码:
long appId = 8463054; // long is just a keyword for System.Int64
没有必要将其声明为小数,因为您还没有使用小数位。
答案 1 :(得分:1)
问题是appId是十进制的。只需声明它:
long appId = 8463054;
var pp = APPLICATIONS.Where(a => a.APPLICATION_ID == appId);
pp.Dump();