Мы работаем в унаследованной кодовой базе с довольно грубой моделью данных.Прямо сейчас у нас есть Object Mapping, которое выглядит следующим образом:
using FluentNHibernate.Mapping;
using Validation.Domain;
namespace Validation.DomainMaps
{
public sealed class BookMap : SubclassMap<Book>
{
public BookMap()
{
Map(x => x.Genre);
References(x => x.Shelf, "ShelfId")
.Nullable()
.Not.LazyLoad()
.NotFound.Ignore()
.Cascade.All()
.Fetch.Join();
}
}
}
В приложении книга без полки будет иметь ShelfId = 0. В таблице Shelf нет строки с идентификатором, равным Id0 и мы полагаемся на то, что nhibernate .NotFound.Ignore()
вернет значение null, которое мы проверим и обработаем позже.
Это продвинуло нас далеко вперед, но теперь мы пытаемся вызвать исключение при попыткеи получить доступ к ненулевым полкам, которые не имеют записей в таблице полок.
В идеале nhibernate генерирует исключение только в том случае, если не может найти полку с не-0 Id и возвращает ноль, когда запрашивается полка с идентификатором 0.
Любая помощь будет исключительной!