7
在业务逻辑中引用数据库值
我想这是关于硬编码和最佳实践的另一个问题。假设我有一个值列表,可以说是水果,存储在数据库中(它必须在数据库中,因为该表用于其他目的,例如SSRS报告),其ID为: 1 Apple 2 Banana 3 Grapes 我可以将它们呈现给用户,他选择一个,将其作为FavouriteFruit存储在他的个人资料中,并将ID存储在他的数据库记录中。 当涉及到业务规则/域逻辑时,将逻辑分配给特定值的建议是什么。假设用户选择了葡萄我想执行一些额外的任务,那么引用葡萄值的最佳方法是什么: // Hard coded name if (user.FavouriteFruit.Name == "Grapes") // Hard coded ID if (user.FavoriteFruit.ID == 3) // Grapes // Duplicate the list of fruits in an enum if (user.FavouriteFruit.ID == (int)Fruits.Grapes) 或者是其他东西? 当然,由于FavouriteFruit将在整个应用程序中使用,因此可以将列表添加或编辑。 有人可能会决定将“葡萄”重命名为“葡萄”,这当然会破坏硬编码的字符串选项。 硬编码的ID尚不完全清楚,如图所示,您可以添加注释以快速识别它是哪个项目。 枚举选项涉及从数据库中复制数据,这似乎是错误的,因为它可能不同步。 无论如何,在此先感谢您的任何意见或建议。
43
design