在哪里存储可由用户更新并在列表中显示给用户的值对象?

时间:2011-07-17 12:23:31

标签: sql-server-2008 domain-driven-design entity-framework-4.1

我试图围绕将在Web应用程序的下拉控件中显示的项目,并且这些项目是我的模型中的值对象。举个例子,假设我是一个名为RFI的实体(信息请求)。该RFI具有名为State的值对象。业务规定的可能状态值包括:创建,打开,暂停,关闭。这些值需要显示给用户并且可由用户更新(在某些管理控制台中)。由于值仅保留在实体本身,因此存储可能值列表的最佳方法是什么?

我正在使用数据库(SQL 2008)和ORM框架(Entity Framework 4.1),但我不确定数据库是存储可能值的最佳位置。我听说有些用户为此类事情创建资源文件(XML文档,CSV文件等)。社区中的其他人在这样的场景中做了什么,以及一些推荐的最佳实践。

2 个答案:

答案 0 :(得分:1)

数据库中名为“State”(或类似)的4行查找表。 这将是“RFI”表中的外键。

原因:

  • 搜索“已关闭”等
  • 其他客户端代码将使用它(在某些时候)
  • 这是关系...

以对象角色建模捕获模型,例如,看看它产生了什么。

答案 1 :(得分:1)

在我的公司中,我们在数据库中创建了一个Lookup表,其中包含一个额外的列,用于指定每个值所关联的对象,并使用不同的对象键多次映射表(我们已经在NHibernate和I'中实现了它)我不确定在EF中是否可以,如果不是,你可以简单地使用Views来代替不同的对象类。

这将允许轻松管理,因为它全部存储在数据库中,维护成本低,因为所有的值对象只存储在一个数据库中(这使得缓存更容易)。