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.Value
null
GetOrdinal...
intType= reader["intType"] == DBNull.Value ? null : (int?)reader["intType"];
(int?)
また、キャストだけでなく、キャストを行う必要があるのはなぜ(int)
ですか?