Бинарный оператор Equal не определен для типов "System.Int64" и "System.Decimal".
У меня есть странная проблема в 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'.
Есть идеи, в чем проблема?
2 ответа
Проблема в том, что appId является десятичным. Просто объявите это как долго:
long appId = 8463054;
var pp = APPLICATIONS.Where(a => a.APPLICATION_ID == appId);
pp.Dump();
Измените свой код следующим образом:
long appId = 8463054; // long is just a keyword for System.Int64
Нет необходимости объявлять его как десятичное число, так как вы все равно не используете дробные цифры.