나는 다음과 같은 LINQ 문이 있습니다C# Convert.ToDouble 람다 LINQ 문에서 (값)
Items = Items.Where(p => p.LeadDatas.Any(
q =>
q.LeadField.Name == descriptor.Name &&
Convert.ToDouble(q.Value) == Convert.ToDouble(value)));
모두의 q.Value
이중의 문자열 값이며, value
는 이중의 문자열 값입니다 이것들은 평등을 위해 비교 될 수 있도록 복식으로 변환 될 필요가 있었다. 나를 어떻게 허용하지 않습니다 이유는 확실하지 않다
을 떠
오류 변환 데이터 유형 VARCHAR :
내가이 LINQ 문을 통해 디버깅
, 나는 다음과 같은 예외 : SQLException을 얻고있다 이 문제는 해결할 수 있을지 궁금해합니다. 여기서 평등을 비교하기 위해 두 값을 비교해야합니다.
SQL에서 수행하려고하는 것이 가능합니다. (오류 메시지 참조) – Jeff
@ JeffN825 : 요점은 "고정 된"값의 변환을 시도 할 가능성이 있습니다 데이터베이스에있는 데이터를 변환하려는 시도가 아니라 문제입니다. 명확하게 편집 할 것입니다. –
내 자신의 교육을 위해 복식을 비교하는 것이 왜 안 좋은가? 오래된 "10 진수"문제 때문에? (http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems) – Jeff