Я использую следующий фрагмент:
var ws = string.Format(" it.{0} >= {1} && it.{0} <= {2} ", column, min, max)
как часть запроса.
«Это» представляет запись под рукой.
Затем я использую эту строку в
Var result = AllRecords
.Where(ws)
.OrderBy(it.ProductName);
Проблема, с которой я столкнулся, заключается в том, что когда тип столбца является десятичным, LINQ интерпретирует переданную строку как двойную и завершается ошибкой, говоря, что типы double и decimal несовместимы:
Типы аргументов 'Edm.Decimal' и
«Edm.Double» несовместимы для этого
операция. Почти больше или равно
выражение, строка 8, столбец 12. где:
(it.Cost> = 70,5 && it.Cost <= 100)
Orderby: it.ProductName </p>
как я могу гарантировать, что LINQ поймет, что строка должна интерпретироваться как десятичная, а не как двойная?