0

我们正在使用具有相当粗糙数据模型的遗留代码库。现在,我们有一个如下所示的对象映射:

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 表中没有 Id 为 0 的行,我们依赖 nhibernate.NotFound.Ignore()返回 null,稍后我们将检查并处理它。

这已经让我们走到了这一步,但是,现在我们试图在尝试访问 Shelf 表中没有条目的非 0 ShelfId 时抛出异常。

理想情况下,nhibernate 只会在找不到 ID 为非 0 的 Shelf 的情况下抛出异常,并在请求 ID 为 0 的 Shelf 时返回 null。

任何帮助都将是特殊的!

4

1 回答 1

0

这并不完美,但任何想要做这种事情的人都应该在这里看看

于 2011-08-03T18:47:12.407 回答