0

我有一个名为“工具”的课程。工具具有如下属性:名称、描述和一些特定的其他属性。工具很特别,因为名称和其他都是只读的,但描述可以由用户修改。

工具的数量是恒定的并且在开发时是已知的。它不是值对象,因为我需要查询它们并向用户显示他们可以更新描述的位置。因此,它是一种实体,但用户无法创建新工具。

我正在寻找使用这样的工具的可能性:

Tool.SomeGreatTool

其中 SomeGreatTool 是名称为“Some great tool”的工具,描述应与用户指定的相同。

Jimmy Bogard 的解决方案几乎完美,但 NHibernate 对 SomeGreatTool 和描述一无所知。

如何修改吉米的解决方案或如何以不同的方式进行?如何从数据库中实例化 SomeGreatTool?

4

1 回答 1

1

我们仍然将这些半常数数据视为一种众所周知的实体。我们为工具类型创建值对象/枚举类,但将工具类型与工具分开。你仍然需要去持久化存储来做类似 ToolRepository.Find(ToolType.Screwdriver) 的事情。即使每种工具类型只有一个工具,您仍然需要将这两个概念分开。

于 2010-02-17T17:24:51.913 回答