I am presently trying to use NHibernate on a project where I do not have permissions to CREATE TABLE in SQL 2005.
我目前正在尝试在一个项目中使用NHibernate,我在SQL 2005中没有CREATE TABLE的权限。
I keep getting a mapping error, and my assumption is that I do not setup the table by generating it. Is it fair of me to assume that NHibernate can only map successfully with tables that were generated by its tool?
我一直收到映射错误,我的假设是我没有通过生成它来设置表。假设NHibernate只能成功映射其工具生成的表,这是否公平?
If not, how can I make sure it works for an existing table?
如果没有,我如何确保它适用于现有表?
14 Sept Responding to request to provide more details:
9月14日响应要求提供更多细节:
<id name="MeetingID" column="MeetingID" type="int">
<generator class="identity" />
</id>
<property name="Description" />
<property name="OwnerNetworkID" />
<property name="StartDate" />
<property name="EndDate" />
<property name="DayStartHour" />
<property name="DayStartMinute" />
<property name="DayEndHour" />
<property name="DayEndMinute" />
<property name="BreakStartHour" />
<property name="BreakStartMinute" />
<property name="BreakEndHour" />
<property name="BreakEndMinute" />
<property name="IsActive" />
<property name="SessionIntervalMinutes" />
<property name="PeoplePerSlot" />
<property name="DateCreated" />
<property name="LastModified" />
<property name="UpdatedBy" />
<property name="ChangeTimestamp" />
<property name="ClosedForBookingDaysPrior" />
<property name="DefaultMeetingRoom" />
This is the class:
这是班级:
Namespace MyNamespace Public Class Meeting
命名空间MyNamespace公共类会议
Private _MeetingID As Integer
Private _OwnerNetworkID As String
Private _Description As String
Public Overridable Property MeetingID() As Integer
Get
Return _MeetingID
End Get
Set(ByVal value As Integer)
_MeetingID = value
End Set
End Property
Public Overridable Property Description() As String
Get
Return _Description
End Get
Set(ByVal value As String)
_Description = value
End Set
End Property
Public Overridable Property OwnerNetworkID() As String
Get
Return _OwnerNetworkID
End Get
Set(ByVal value As String)
_OwnerNetworkID = value
End Set
End Property
Private _StartDate As Date
Public Overridable Property StartDate() As Date
Get
Return _StartDate
End Get
Set(ByVal value As Date)
_StartDate = value
End Set
End Property
Private _EndDate As Date
Public Overridable Property EndDate() As Date
Get
Return _EndDate
End Get
Set(ByVal value As Date)
_EndDate = value
End Set
End Property
Private _DayStartHour As Byte
Public Overridable Property DayStartHour() As Byte
Get
Return _DayStartHour
End Get
Set(ByVal value As Byte)
_DayStartHour = value
End Set
End Property
Private _DayStartMinute As Byte
Public Overridable Property DayStartMinute() As Byte
Get
Return _DayStartMinute
End Get
Set(ByVal value As Byte)
_DayStartMinute = value
End Set
End Property
Private _DayEndHour As Byte
Public Overridable Property DayEndHour() As Byte
Get
Return _DayEndHour
End Get
Set(ByVal value As Byte)
_DayEndHour = value
End Set
End Property
Private _DayEndMinute As Byte
Public Overridable Property DayEndMinute() As Byte
Get
Return _DayEndMinute
End Get
Set(ByVal value As Byte)
_DayEndMinute = value
End Set
End Property
Private _BreakStartHour As Byte
Public Overridable Property BreakStartHour() As Byte
Get
Return _BreakStartHour
End Get
Set(ByVal value As Byte)
_BreakStartHour = value
End Set
End Property
Private _BreakStartMinute As Byte
Public Overridable Property BreakStartMinute() As Byte
Get
Return _BreakStartMinute
End Get
Set(ByVal value As Byte)
_BreakStartMinute = value
End Set
End Property
Private _BreakEndHour As Byte
Public Overridable Property BreakEndHour() As Byte
Get
Return _BreakEndHour
End Get
Set(ByVal value As Byte)
_BreakEndHour = value
End Set
End Property
Private _BreakEndMinute As Byte
Public Overridable Property BreakEndMinute() As Byte
Get
Return _BreakEndMinute
End Get
Set(ByVal value As Byte)
_BreakEndMinute = value
End Set
End Property
Private _IsActive As Byte
Public Overridable Property IsActive() As Byte
Get
Return _IsActive
End Get
Set(ByVal value As Byte)
_IsActive = value
End Set
End Property
Private _SessionIntervalMinutes As Byte
Public Overridable Property SessionIntervalMinutes() As Byte
Get
Return _SessionIntervalMinutes
End Get
Set(ByVal value As Byte)
_SessionIntervalMinutes = value
End Set
End Property
Private _PeoplePerSlot As Short
Public Overridable Property PeoplePerSlot() As Short
Get
Return _PeoplePerSlot
End Get
Set(ByVal value As Short)
_PeoplePerSlot = value
End Set
End Property
Private _DateCreated As Date
Public Overridable Property DateCreated() As Date
Get
Return _DateCreated
End Get
Set(ByVal value As Date)
_DateCreated = value
End Set
End Property
Private _LastModified As Date
Public Overridable Property LastModified() As Date
Get
Return _LastModified
End Get
Set(ByVal value As Date)
_LastModified = value
End Set
End Property
Private _UpdatedBy As String
Public Overridable Property UpdatedBy() As String
Get
Return _UpdatedBy
End Get
Set(ByVal value As String)
_UpdatedBy = value
End Set
End Property
Private _ChangeTimestamp As Byte()
Public Overridable Property ChangeTimestamp() As Byte()
Get
Return _ChangeTimestamp
End Get
Set(ByVal value As Byte())
_ChangeTimestamp = value
End Set
End Property
Private _ClosedForBookingDaysPrior As Byte
Public Overridable Property ClosedForBookingDaysPrior() As Byte
Get
Return _ClosedForBookingDaysPrior
End Get
Set(ByVal value As Byte)
_ClosedForBookingDaysPrior = value
End Set
End Property
Private _DefaultMeetingRoom As String
Public Overridable Property DefaultMeetingRoom() As String
Get
Return _DefaultMeetingRoom
End Get
Set(ByVal value As String)
_DefaultMeetingRoom = value
End Set
End Property
End Class
End Namespace
结束命名空间
1 个解决方案
#1
0
I have found the source of my problem.
我找到了问题的根源。
The error was cause by me not calling the Configure() method before calling AddAssembly(typeof(Type)). This happens when I create a SessionFactory object.
错误是由于我在调用AddAssembly(typeof(Type))之前没有调用Configure()方法。当我创建SessionFactory对象时会发生这种情况。
Here is the VB example of this solution:
以下是此解决方案的VB示例:
Before
之前
Private Shared ReadOnly Property SessionFactory() As ISessionFactory
Get
If _sessionFactory Is Nothing Then
Dim configuration As New Configuration
configuration.AddAssembly(GetType(Meeting).Assembly)
_sessionFactory = configuration.BuildSessionFactory
End If
Return _sessionFactory
End Get
End Property
After
后
Private Shared ReadOnly Property SessionFactory() As ISessionFactory
Get
If _sessionFactory Is Nothing Then
Dim configuration As New Configuration
//Was missing
configuration.Configure()
//Configure
configuration.AddAssembly(GetType(Meeting).Assembly)
_sessionFactory = configuration.BuildSessionFactory
End If
Return _sessionFactory
End Get
End Property
#1
0
I have found the source of my problem.
我找到了问题的根源。
The error was cause by me not calling the Configure() method before calling AddAssembly(typeof(Type)). This happens when I create a SessionFactory object.
错误是由于我在调用AddAssembly(typeof(Type))之前没有调用Configure()方法。当我创建SessionFactory对象时会发生这种情况。
Here is the VB example of this solution:
以下是此解决方案的VB示例:
Before
之前
Private Shared ReadOnly Property SessionFactory() As ISessionFactory
Get
If _sessionFactory Is Nothing Then
Dim configuration As New Configuration
configuration.AddAssembly(GetType(Meeting).Assembly)
_sessionFactory = configuration.BuildSessionFactory
End If
Return _sessionFactory
End Get
End Property
After
后
Private Shared ReadOnly Property SessionFactory() As ISessionFactory
Get
If _sessionFactory Is Nothing Then
Dim configuration As New Configuration
//Was missing
configuration.Configure()
//Configure
configuration.AddAssembly(GetType(Meeting).Assembly)
_sessionFactory = configuration.BuildSessionFactory
End If
Return _sessionFactory
End Get
End Property