我有一个带有NHibernate数据访问层的Web应用程序。我有大量可以存储的用户首选项,这些主要是布尔值,例如注册对话框已被解除,不应再次显示。
问题是,对于NHibernate,我需要添加到我的数据库模式,并在每次添加新对话框时向持久化类添加属性,如果它已被解除则注册。
必须有一种更简单的方法。它是什么?
答案 0 :(得分:2)
您可以使用设置表来存储首选项并为每个对话框添加值:
表格设置 Id,UserId,DialogName,Value
1,1,FirstDialog,True
2,1,SecondDialog,False
3,2,FirstDialog,False
4,2,SecondDialog,False
答案 1 :(得分:1)
另一个选择是阅读Ayende的这个post,基本上允许动态字段
许多应用程序中的一个共同主题是 需要支持自定义/动态 领域。换句话说,系统 管理员可以决定客户 需要一些额外的领域 这不是主线的一部分 发展。
另请阅读Ayende的最后评论
- 您可以将集合放入动态属性中。
- 您可以以编程方式编辑配置
编辑出于某种原因,我刚刚意识到我已经回答了这个超过一年的问题!不知道我怎么来到这里!答案仍然很好,但