gpt4 book ai didi

database - 将 NHibernate 与查找表结合使用

转载 作者:太空狗 更新时间:2023-10-30 01:58:03 27 4
gpt4 key购买 nike

如果数据库中有一组表严格由字符串描述和 ID 组成,那么通过 NHibernate 加载这些表的最佳方法是什么?

假设我有一个三明治类,三明治有肉、奶酪和蔬菜,这三样东西是数据库中的查找表。它似乎是最符合 NHibernate 理念的有

public class Meat { string name; int id; }
public class Cheese { string name; int id; }
public class Vegetable { string name; int id; }
public class Sandwich { Meat meat; Cheese cheese; Vegetable vegetable; }

但是数据库中有几十个这样的表,类似乎会迅速激增。假设我这样设置:

public class NameAndID { string name; int id; }
public class Sandwich { NameAndID meat; NameAndID cheese; NameAndID vegetable; }

这可行吗?在 Fluent NHibernate 中如何实现?

最佳答案

您需要另一列来确定类型。您可以为此使用枚举。然后您所有的查找都需要包含该限制....

CreateCriteria<NameAndID>.Add(Restrictions.Eq("ntype", E.Meat)

但是,我更喜欢单独的表,这样您就可以拥有更好的外键。否则,数据库约束中没有任何内容可以阻止您制作仅包含 3 block 奶酪的三明治。

关于database - 将 NHibernate 与查找表结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2387784/

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