0
嗯,我一直在爭取這一點,現在我似乎無法找到一個應該很簡單的解決方案。我得到了一個類(非常簡單的類),我得到了hbm.xml(SET AS EMBEDDED RESOURCE)。我爲SQLite設置了配置文件,但仍然得到[Class]未映射。nHibernate和SQLite = [Class]沒有映射
這裏就是錯誤出現,當我運行此:我中心類中
Public Sub LoadCentersFromDatabase()
Try
Dim session As ISession = OpenSession()
Dim query As IQuery = session.CreateQuery("from Center")
Dim foundCenters As IList(Of Center) = query.List(Of Center)()
MsgBox(foundCenters.Count)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
代碼
Public Class Center
#Region " Class Constructors "
Protected Sub New()
End Sub
Public Sub New(ByVal centerName As String, ByVal address As String, ByVal city As String, ByVal state As String, ByVal zip As String, ByVal country As String, ByVal phone As String)
Me.Id = 0
Me.ExternalId = -1
Me.CenterName = centerName
Me.Address = address
Me.City = city
Me.State = state
Me.ZIP = zip
Me.Country = country
Me.Phone = phone
End Sub
Public Sub New(ByVal id As Integer, ByVal centerName As String, ByVal address As String, ByVal city As String, ByVal state As String, ByVal zip As String, ByVal country As String, ByVal phone As String)
Me.New(centerName, address, city, state, zip, country, phone)
Me.Id = id
End Sub
#End Region
#Region " Declared Auto Properties "
Public Property Id As Integer
Public Property ExternalId As String
Public Property CenterName As String
Public Property Address As String
Public Property City As String
Public Property State As String
Public Property ZIP As String
Public Property Country As String
Public Property Phone As String
#End Region
End Class
這是你hml.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="KC.Domain.Center, KC" table="Centers" lazy="true">
<id name="Id" column="CenterId">
<generator class="native" />
</id>
<property name="CenterName" unique="true" />
<property name="ExternalId" />
<property name="Address" />
<property name="City" />
<property name="State" />
<property name="ZIP" />
<property name="Country" />
<property name="Phone" />
</class>
</hibernate-mapping>
代碼
該App.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SQLite20Driver, NHibernate</property>
<property name="connection.connection_string">
Data Source=C:\Users\Public\Documents\cats.db;Version=3
</property>
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
<property name="query.substitutions">true=1;false=0</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<mapping assembly="KC.Domain"/>
</session-factory>
</hibernate-configuration>
</configuration>
嘿詹姆斯,謝謝你的回答,但那也行不通。我在開始的時候就是這樣,我開始改變它,但是它也沒有做到:( – 2010-12-22 05:16:21