gpt4 book ai didi

NHibernate 和非规范化表

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

在具有 Employee 和 Branch 实体的网站上工作,使用数据库表“Employees”,其中还包含分支 ID 和分支名称。我无法更改客户端的数据库,因此我需要从同一个表中映射员工和分支机构。

我想我需要在映射 XML 中使用某种类型的 distinct 子句来从员工表中获取一个不同的列表或一组分支?

有没有办法可以在同一张 table 上映射两个类? (可以用 Fluent NHibernate 来完成吗?)

最佳答案

使用组件。我不知道 FluentNhibernate,但在 xml 中,它看起来像这样:

<class name="Employee">
...

<component name="MyBranch">
<!-- Branche properties are here: -->
<property name="BrancheName"/>
<property name="..."/>
</component>
</class>

class Employee
{
Branch MyBranch { get; private set; }
}

class Branch
{
string BrancheName { get; private set; }
}

这实际上非常简单。您也出于性能原因这样做,因为当员工总是有一个分支时,您不需要连接表。

注意:如果所有列都为空,则 myBranch 将为空。

关于NHibernate 和非规范化表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858244/

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