Хорошо. Кажется, я всегда решаю проблему приведения булевых типов при использовании LINQ в DataSets, но, похоже, каждый новый набор результатов приносит новую проблему.Итак, взгляните на следующую строку, которая заполняет логическое свойство объекта с помощью LINQ:
.IsActive = If(fd.IsNull("IsActive"), False, fd.Field(Of Boolean)("IsActive"))
У меня также был некоторый успех со следующим:
.IsActive = If((fd.Field(Of Integer?)("IsActive").HasValue), fd.Field(Of Integer)("IsActive"), False)
На этот раз ни один подход не сработал.Тип «IsActive» в базе данных имеет тип « bit », а в DataSet все возвращаемые записи имеют значение «0» или «1» в качестве значения.Несмотря на это, я получаю следующую ошибку:
"Указанное приведение недействительно. При приведении числа число должно быть числом меньше бесконечности."
Я хотел бы понять, что я делаю здесь неправильно.Кто-нибудь может объяснить, как я должен кастовать это?Спасибо!