![](/img/trans.png)
[英]Specifying the Primary Key when using Fluent NHibernate and AsList()
[英]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.