У меня есть объект Sponsor, коллекция которого выглядит следующим образом ...
public virtual IDictionary<SettingId, object> SettingValueDefaults { get; set; }
Они фактически извлекаются как подмножество таблицы большего размера.Мне нужно иметь возможность читать из них, и это работает правильно.
Однако я хотел бы иметь возможность вносить изменения во время выполнения в эту коллекцию и иметь nhibernate игнорировать эти изменения, или даже пытатьсясохранить коллекцию вообще.
Опять же, мне нужен nhibernate для извлечения данных, чтобы я мог использовать его в коде, но не сохранять изменения данных, которые я вносил в коллекцию во время выполнения.
Отображение для этой коллекцииниже:
<map name="SettingValueDefaults" cascade="none">
<cache usage="read-write" region="Sponsors" />
<key not-null="true" column="SponsorId"/>
<index column="SettingId" type="HealthTools.Core.Domain.Model.Sponsor.Settings.SettingId, HealthTools.Core"/>
<element column="DefaultValue" type="HealthTools.Infrastructure.DataAccess.SqlVariant, HealthTools.Infrastructure"/>
<loader query-ref="GetDefaultSettingValues" />
</map>
Вот ошибка, которую я получаю от Nhibernate, когда пытается сохранить объект Спонсора.
"Неверное имя объекта" HealthTools.dbo.SettingValueDefaults "
Это происходит потому, что нет таблицы SettingsValueDefaults, карта просто извлекает данные из таблицы Sponsor.Settings через функцию GetDefaultSettingValues.