gpt4 book ai didi

fluent-nhibernate - NHibernate、遗留数据库、非外键

转载 作者:行者123 更新时间:2023-12-04 09:02:10 25 4
gpt4 key购买 nike

我正在处理的项目有一个遗留数据库,其中包含大量用于改变应用程序行为的信息。基本上我被困在一些我必须非常小心改变的事情上。

到我的问题。在这个数据库中有一个表,在这个表中有一个列。此列包含整数,并且该列的大多数预先存在的数据的值为零。

问题是该列实际上是对另一个实体的外键引用,只是从未在数据库模式中如此定义。

现在在我的新代码中,我定义了 Fluent-NHibernate 映射以将此列视为引用,这样我就不必直接在我的代码中处理实体 ID。这很好用,直到我在此列中遇到一个值为 0 的实体。

NHibernate 认为值 0 是有效的引用。当我的代码尝试使用该引用的对象时,我得到一个 ObjectNotFoundException,因为显然我的数据库中没有 id 为 0 的对象。

我怎样才能通过映射或某种约定(我使用 Fluent-nhibernate)让 NHibernate 将 0 的 id 视为 NULL 一样?

最佳答案

我发现 API 告诉 NHibernate 忽略未找到的引用(NotFound.Ignore()),而不是抛出异常。我在网上找到的所有提到的 SetAttribute() 都让我感到困惑,它适用于比我使用的旧版本的 fluent-nhibernate。

关于fluent-nhibernate - NHibernate、遗留数据库、非外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2609625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com