我有一个引用/查找表,其主要目的是为用户提供现有选项的列表。用户还可以在列表中输入新项目。你会如何在NHibernate中映射它?
例如,假设我有一个带有City字段的Address类。该数据库具有地址表和城市查找表。 (我可以在此时定义我想要的关系。)编辑地址时:
我一直在搜寻NHib文档,我不确定我应该采取什么方法。
编辑:
我的部分问题源于这样一个事实,即我试图避免使用单个属性创建“City”类 - 我只是想将Address.City作为域模型中的字符串。这可能是不明智的,我不知道。
答案 0 :(得分:1)
所以你有地址,你想要一个独特的城市列表。您需要在代码或数据库中执行“distinct”操作。在代码中执行它意味着映射到City表的City类 - 我无法看到如何避免它。
如果对数据库执行“distinct”操作,则需要编写sprocs来插入和更新Address。然后,这些sprocs将包含“如果它在表中使用City,否则创建一个新的”的逻辑。
就个人而言,如果可以避免,我不赞成使用sprocs,所以我建议您创建一个City类,并在Address类上映射它。