Как я могу сопоставить классы домена NHibernate с существующей таблицей - PullRequest
0 голосов
/ 13 сентября 2010

В настоящее время я пытаюсь использовать NHibernate в проекте, где у меня нет разрешений на CREATE TABLE в SQL 2005.

Я получаю сообщение об ошибке отображения, и я предполагаю, что я не настраиваю таблицугенерируя это.Справедливо ли мне полагать, что NHibernate может успешно отображать только те таблицы, которые были сгенерированы его инструментом?

Если нет, как я могу убедиться, что он работает для существующей таблицы?


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" />

Это класс:

Пространство имен 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

Конечное пространство имен

1 Ответ

0 голосов
/ 15 сентября 2010

Я нашел источник моей проблемы.

Ошибка была вызвана тем, что я не вызвал метод Configure () перед вызовом AddAssembly (typeof (Type)).Это происходит при создании объекта SessionFactory.

Вот пример VB этого решения:

До

    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

После

    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
...