1

我有一个带有 NHibernate 数据访问层的 Web 应用程序。我有大量可以存储的用户首选项,这些主要是布尔值,例如注册对话框已被关闭且不应再次显示。

问题是,对于 NHibernate,我需要添加到我的数据库模式中,并在每次添加新对话框以注册时向持久类添加一个属性,无论它是否已被解除。

必须有更简单的方法。它是什么?

4

2 回答 2

2

您可以使用设置表来存储首选项并为每个对话框添加一个值:

表设置 Id、UserId、DialogName、Value

1, 1, FirstDialog, 真

2, 1, SecondDialog, 假

3, 2, FirstDialog, 假

4, 2, SecondDialog, 假

于 2009-12-18T18:39:12.263 回答
1

另一种选择是阅读 Ayende 的这篇文章,基本上允许动态字段

许多应用程序中的一个共同主题是需要支持自定义/动态字段。换句话说,系统管理员可能决定客户需要一些不属于主线开发的附加字段。

另请阅读 Ayende 的最后评论

  • 您可以将集合放在动态属性中。
  • 您可以以编程方式编辑配置

编辑出于某种原因,我刚刚意识到我已经回答了这个问题已经超过一年了!不知道我是怎么来的!答案仍然是一个很好的答案

于 2011-03-15T07:34:00.407 回答