I am trying to insert some basic information into a table called location. I am using Oracle and allowing null data, so I am using the datatypes found in Nullables.NHibernate. I am having a casting problem between the nullables' datatypes and normal .Net datatypes.
For instance, I am declaring an addDate variable as a NullableDateTimeType, but when I attempt to assign a value to it (I.E. addDate = New System.DateTime(1979, 11, 8)) I receive an InvalidCastException Exception.
I have tried searching through these forums and google, but have been unable to find anything similiar to my problem.
Thank you.
Oracle table:
Code:
CREATE TABLE LOCATION
(
LOCATIONID INTEGER,
NAME VARCHAR2(255 CHAR),
DESCRIPTION CLOB,
ADDRESS1 VARCHAR2(255 CHAR),
ADDRESS2 VARCHAR2(255 CHAR),
CITY VARCHAR2(255 CHAR),
STATE VARCHAR2(2 CHAR),
ZIP VARCHAR2(20 CHAR),
ADDDATE DATE,
MODIFIEDDATE DATE,
ADDEDBY INTEGER,
MODIFIEDBY INTEGER
)
My mapping file looks likeCode:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" assembly="test" namespace="test">
<class name="LocationModel" table="Location">
<id name="locationID" type="Int32" length="20">
<generator class="assigned" />
</id>
<property name="name" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="255" not-null="false"></property>
<property name="description" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="8000" not-null="false"></property>
<property name="address1" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="255" not-null="false"></property>
<property name="address2" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="255" not-null="false"></property>
<property name="state" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="2" not-null="false"></property>
<property name="city" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="255" not-null="false"></property>
<property name="zip" type="Nullables.NHibernate.EmptyStringType, Nullables.NHibernate" length="20" not-null="false"></property>
<property name="addDate" type="Nullables.NHibernate.NullableDateTimeType, Nullables.NHibernate" not-null="false"></property>
<property name="modifiedDate" type="Nullables.NHibernate.NullableDateTimeType, Nullables.NHibernate" not-null="false"></property>
<one-to-one name="addedBy" class="SecurityModel" />
<one-to-one name="modifiedBy" class="SecurityModel" />
</class>
</hibernate-mapping>
My Class looks likeCode:
Imports Nullables
Imports Nullables.NHibernate
Public Class LocationModel
Private _locationID As Int32
Private _name As EmptyStringType
Private _description As EmptyStringType
Private _address1 As EmptyStringType
Private _address2 As EmptyStringType
Private _state As EmptyStringType
Private _city As EmptyStringType
Private _zip As EmptyStringType
Private _addDate As NullableDateTimeType
Private _modifiedDate As NullableDateTimeType
Private _addedBy As IDictionary
Private _modifiedBy As IDictionary
Private _active As Boolean
Public Overridable Property locationID()
Get
Return _locationID
End Get
Set(ByVal Value)
_locationID = Value
End Set
End Property
Public Overridable Property name()
Get
Return _name
End Get
Set(ByVal Value)
_name = Value
End Set
End Property
Public Overridable Property description()
Get
Return _description
End Get
Set(ByVal Value)
_description = Value
End Set
End Property
Public Overridable Property address1()
Get
Return _address1
End Get
Set(ByVal Value)
_address1 = Value
End Set
End Property
Public Overridable Property address2()
Get
Return _address2
End Get
Set(ByVal Value)
_address2 = Value
End Set
End Property
Public Overridable Property city()
Get
Return _city
End Get
Set(ByVal Value)
_city = Value
End Set
End Property
Public Overridable Property state()
Get
Return _state
End Get
Set(ByVal Value)
_state = Value
End Set
End Property
Public Overridable Property zip()
Get
Return _zip
End Get
Set(ByVal Value)
_zip = Value
End Set
End Property
Public Overridable Property addDate()
Get
Return _addDate
End Get
Set(ByVal Value)
_addDate = Value
End Set
End Property
Public Overridable Property modifiedDate()
Get
Return _modifiedDate
End Get
Set(ByVal Value)
_modifiedDate = Value
End Set
End Property
Public Overridable Property addedBy()
Get
Return _addedBy
End Get
Set(ByVal Value)
_addedBy = Value
End Set
End Property
Public Overridable Property modifiedBy()
Get
Return _modifiedBy
End Get
Set(ByVal Value)
_modifiedBy = Value
End Set
End Property
Public Overridable Property active()
Get
Return _active
End Get
Set(ByVal Value)
_active = Value
End Set
End Property
Public Sub New()
_locationID = 0
_name = New EmptyStringType
_description = New EmptyStringType
_address1 = New EmptyStringType
_address2 = New EmptyStringType
_state = New EmptyStringType
_city = New EmptyStringType
_zip = New EmptyStringType
_addDate = New NullableDateTimeType
_modifiedDate = New NullableDateTimeType
_addedBy = Nothing
_modifiedBy = Nothing
_active = True
End Sub
End Class