私たちのSQL環境で指摘されているMsSqlConfiguration.MsSql2008.ConnectionString
のNHibernate/FluentNHibernateを使用するアプリケーションがあります。 SQLサーバは、複数のデータベースを持っていると我々はそうのような規則を使用して、異なるデータベースに接続することができます。これは動作し、正しいクエリがOtherDatabase
にアクセスするために生成されSQLite In Memoryの設定でNHibernateをテストするとき、別のデータベースをどのように作成しますか?
public class FactseDatabaseConvention : IClassConvention
{
public void Apply(IClassInstance instance)
{
if (instance.EntityType.Namespace.EndsWith("Model.OtherEntities"))
{
instance.Schema("OtherDatabase.dbo");
}
}
}
。この問題は、SessionFactoryでSQLiteConfiguration.Standard.InMemory()
を使用してテストしたいときに発生します。
System.Data.SQLite.SQLiteException : SQL logic error or missing database
unknown database OtherDatabase
をこれは、それが生成するコマンドです::SQLiteのは、準備されたときに持続性テストが失敗し
create table OtherDatabse.dbo_my_other_entity_table (
Id UNIQUEIDENTIFIER not null,
... other properties
)
私はそれが2、インメモリデータベースを作成してもらうために私SQLiteConfiguration
を変更すると、することができます方法はありますもしそうなら、どうですか?あるいは、これらの他のエンティティをテストするためのセッションを別途作成する必要はありますか?
ありがとう@ジェンソンボタンイベント、これは動作する可能性があります。私が試してみる前に、ローカルのSQLソリューションで共有できる情報はありますか?私はそれを試みることを好むかもしれません。 – shanabus
開発者向けに作成されたMSSQL Express 2012のインメモリ版です。それについては、[MSDNのブログエントリ](http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx)とリンク[MSSQL Express 2012をダウンロード](http://msdn.microsoft.com/en-us/evalcenter/hh230763.aspx)を参照してください。 MSDNサブスクリプションをお持ちの場合は、それを入手することもできます。 MSDNサブスクライバダウンロードでLocalDBを検索するだけです。 –