Nhibernate 实体、值对象或它是什么以及它应该在哪里?

Nhibernate 实体、值对象或它是什么以及它应该在哪里?,nhibernate,repository,entity,value-objects,Nhibernate,Repository,Entity,Value Objects,我有一门叫做“工具”的课。该工具具有以下属性:名称、描述和一些特定的其他属性。该工具是特殊的,因为名称和其他名称是只读的,但说明可以由用户修改 工具的数量是恒定的,并且在开发时已知。它不是值对象,因为我需要查询它们并向用户显示它们可以更新描述的位置。因此,它是一种实体,但用户不能创建新的工具 我正在寻找使用以下工具的可能性: Tool.SomeGreatTool 其中SomeGreatTool是名为“SomeGreatTool”的工具,其描述应与用户指定的相同 但是NHibernate知道关于

我有一门叫做“工具”的课。该工具具有以下属性:名称、描述和一些特定的其他属性。该工具是特殊的,因为名称和其他名称是只读的,但说明可以由用户修改

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

我正在寻找使用以下工具的可能性:

Tool.SomeGreatTool
其中SomeGreatTool是名为“SomeGreatTool”的工具,其描述应与用户指定的相同

但是NHibernate知道关于Somegreatool的任何信息,描述将为空


如何修改Jimmy的解决方案,或者如何以不同的方式进行修改?如何从数据库实例化somegreatool

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

我能说什么。。。并非所有答案都适合我的解决方案:(