SQLite inMemory データベースのセットアップに問題があります。ここから sqlite をインストールしましたhttp://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
この Nhibernate 例外を受け取りました
SQL ロジック エラーまたはデータベースが見つからない、不明なデータベース コア
単体テストを実行しようとすると、BuildSchema メソッドで例外が発生します
ここに私のファクトリーコードがあります
Imports NHibernate.Tool.hbm2ddl
Namespace SessionManager
Public Class Factory
Private Sub New()
End Sub
Private Shared _configuration As NHibernate.Cfg.Configuration
Private Shared _sessionFactory As NHibernate.ISessionFactory
Public Shared Function OpenTestSession() As NHibernate.ISession
If SessionFactory Is Nothing Then
SessionFactory = CreateSessionFactory()
Dim sx = SessionFactory.OpenSession()
'BuildSchema2(sx)
Return sx
End If
End Function
Private Shared Function CreateSessionFactory() As NHibernate.ISessionFactory
Return FluentNHibernate.Cfg.Fluently.Configure().Database(GetInMemoryDataBaseConfiguration()).Mappings(Sub(m) m.FluentMappings.AddFromAssemblyOf(Of ModelEntity)()).ExposeConfiguration(Sub(Cfg) BuildSchema3(Cfg)).BuildSessionFactory()
End Function
Private Shared Function CreateSessionFactory2() As NHibernate.ISessionFactory
Return FluentNHibernate.Cfg.Fluently.Configure().Database(GetInMemoryDataBaseConfiguration()).Mappings(Sub(m) m.FluentMappings.AddFromAssemblyOf(Of ModelEntity)()).ExposeConfiguration(Function(Cfg) InlineAssignHelper(_configuration, Cfg)).BuildSessionFactory()
End Function
Private Shared Sub BuildSchema(config As NHibernate.Cfg.Configuration)
Dim se = New SchemaExport(config)
se.Create(False, True)
End Sub
Private Shared Sub BuildSchema2(sx As NHibernate.ISession)
Dim se = New SchemaExport(_configuration)
se.Execute(True, True, False, sx.Connection, Nothing)
End Sub
Private Shared Sub BuildSchema3(config As NHibernate.Cfg.Configuration)
Dim se = New SchemaExport(config)
se.Create(True, True)
End Sub
Private Shared Function GetInMemoryDataBaseConfiguration() As FluentNHibernate.Cfg.Db.SQLiteConfiguration
Return FluentNHibernate.Cfg.Db.SQLiteConfiguration.Standard.InMemory()
End Function
Private Shared Function InlineAssignHelper(Of T)(target As T, value As T) As T
target = value
Return value
End Function
End Class
名前空間の終了
誰かが解決策を知っているか、解決策を教えてくれたら、ポイントを贈ります:)
編集
スキーマなしでテーブルをマップすると、SQLiteはSQL Serverスキーマに問題があるようです....テーブルマッピングからスキーマを無視するようにマッピングを取得する方法のアイデア:)。
これに加えて、これへのリンクされた質問が見つかりました... Fluent NHibernate - SQLite でテストするためにマッピングからスキーマを削除する