Another problem I have:
in our so elegantly designed database, I have some fields that use a "Y" or "N" as boolean types.
Of course nhibernate throws the work of converting to Convert.ToBoolean which doesn't recognize the "Y" string as a boolean value.
Anybody have a suggestion for dealing with this? I'd really prefer to keep the class's property as a Boolean.
Exception details:
Code:
[FormatException: String was not recognized as a valid Boolean.]
System.Boolean.Parse(String value) +2709684
System.String.System.IConvertible.ToBoolean(IFormatProvider provider) +12
System.Convert.ToBoolean(Object value) +25
NHibernate.Type.BooleanType.Get(IDataReader rs, Int32 index) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Type\BooleanType.cs:40
NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Type\NullableType.cs:270
NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Type\NullableType.cs:212
NHibernate.Type.AbstractType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Type\AbstractType.cs:128
NHibernate.Type.ComponentType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Type\ComponentType.cs:690
NHibernate.Loader.Loader.Hydrate(IDataReader rs, Object id, Object obj, ILoadable persister, ISessionImplementor session, String[][] suffixedPropertyColumns) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:1101
NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32 i, Object obj, Type instanceClass, EntityKey key, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:1000
NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader dr, Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, EntityKey optionalObjectKey, Object optionalObject, IList hydratedObjects, ISessionImplementor session) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:957
NHibernate.Loader.Loader.GetRow(IDataReader rs, ILoadable[] persisters, EntityKey[] keys, Object optionalObject, EntityKey optionalObjectKey, LockMode[] lockModes, IList hydratedObjects, ISessionImplementor session) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:891
NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:295
NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:424
NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:183
NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, Type optionalEntityName, Object optionalIdentifier, IEntityPersister persister) in C:\Program Files\NHibernate\1.2.0.Beta2\src\NHibernate\Loader\Loader.cs:1475