Я пытаюсь реализовать это решение:
NHibernate-20-SQLite-и-In-Memory-БД
Единственная проблема в том, что у нас есть hbms как это:
<class name="aTable" table="[dbo].[aTable]" mutable="true" lazy="false">
с [dbo]
в названии таблицы, потому что мы работаем с mssql, а это не работает с Sqlite.
Я нашел эту публикацию в группе rhino-tools-dev, где они говорят о простом удалении схемы из сопоставления, но в NH2, похоже, classMapping.Schema
.
Существует classMapping.Table.Schema
, но, похоже, он доступен только для чтения. Например, это не работает:
foreach (PersistentClass cp in configuration.ClassMappings) {
// Does not work - throws a
//System.IndexOutOfRangeException: Index was outside the bounds of the array.
cp.Table.Schema = "";
}
- Есть ли способ заставить Sqlite игнорировать
[dbo]
(я пробовал attach database :memory: as dbo
, но, похоже, это не помогло)?
- В качестве альтернативы, можно ли программно удалить его из сопоставлений классов (к сожалению, изменение hbms сейчас невозможно)?