EnumType = reader["EnumTypeId"] == DBNull.Value ? EnumType.None : (EnumType)(int)reader["EnumTypeId"];
reader["EnumTypeId"]nullの場合、値を割り当てる必要があると思いEnumType.Noneましたが、明らかに例外を引き起こしているintにnull値をキャストしようとしています。
次のことを試しましたが、どちらも機能しませんでした。
EnumType = reader["EnumTypeId"] == null ? EnumType.None : (EnumType)(int)reader["EnumTypeId"];
を使用する代わりにEnums、先に進んで nullable を使用することにしたので、コードは少し異なりますが、 、、またはintではまだ機能しませんDBNull.ValuenullGetOrdinal...
intType= reader["intType"] == DBNull.Value ? null : (int?)reader["intType"];
(int?)また、キャストだけでなく、キャストを行う必要があるのはなぜ(int)ですか?