如果我有一个下拉列表绑定到枚举,例如下面的,并且我采用所选的值并更新我期望int的数据库记录,我会被认为是懒惰或忽略了如果我不首先将int转换为相应的枚举值,那么枚举?
我应该提一下,我正在使用遗留代码,他们没有使用类来为每个对象建模,他们只是直接从UI更新数据库中的记录。没必要告诉我为什么这很糟糕。
public enum Schedule
{
None = 0,
Hourly = 1,
Daily = 2,
Weekly = 3,
Monthly = 4,
}
答案 0 :(得分:3)
简短回答;取决于。
更长的答案;取决于您当前的DAO如何持久存取并检索枚举。默认情况下,NHibernate会尝试持久化枚举的ToString();它在实际数据库中的可读性比数值更高,你必须明确说明你希望它作为数字持久存在。
ADO.NET将AFAIK保留枚举值作为其支持号码,如果您将其未经过处理的Enum表单传递给SqlParameter。
答案 1 :(得分:1)
我不认为这是懒惰的。 enum
的名称对我们有利。数据库只关心它的价值,这就是你给它的价值。