我试图理解为什么下面的方法会引发此错误。如果有人帮助或指出我正确的方向,我将不胜感激。
public List<Data> GetResults(string manufacturer, int? vehicle, double? engine )
{
var results =c ontext.Data.Where(x => x.Name == manufacturer)
.Where(x => x.ModelId == model)
.Where(x => x.EngineLitreCapacity == engine) // << error occurs on this line!
.GroupBy(x => x.EngineLitreCapacity)
.Select(x => x.FirstOrDefault())
.ToList();
}
我做错了什么,我将如何解决上面的查询? 谢谢
答案 0 :(得分:6)
EngineLitreCapacity
似乎是decimal?
而engine
是double?
。如果没有铸造,那些变量就无法比较。
简单的解决方案是engine
成为decimal?
。这可能会导致以后出现转换问题,您必须解决这个问题。仅仅转换double?
绝对是一个坏主意,因为它的精度可能会导致方程失败。