簡體   English   中英

根據 ID 指定何時返回 null 以及何時輸入 fluent nHibernate

[英]Specifying when to return null and when to throw in fluent nHibernate based on ID

我們正在使用具有相當粗略數據 model 的遺留代碼庫。 現在,我們有一個 Object 映射,如下所示:

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。

任何幫助都將是特殊的!

這並不完美,但任何想要做這種事情的人都應該在這里看看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM