我们有一些带有遗留模式的旧表,我们发现它们很难使用。
是否可以使用 NHibernate 将其中一些数据转换为更好的模型?
例如,我们可能有一个整数状态列,我们希望将其分解为几个属性。
Legacy status: 0 - Active, 1 - Inactive, 2 - TemporarilyInactive, 3 - etc
我们希望有类似的东西:
bool IsActive { get; set; }
Status Status { get; set; }
(Status
枚举在哪里)
我知道我们可以使用一个protected
可以获取状态的字段,然后定义额外属性的 getter 以根据支持字段返回适当的值,但我很确定这将禁用基于这些查询的能力特性。
但是,通过这种方式,我们将无法进行诸如查询之类的查询.Query(p => p.IsActive)
并将其转换为诸如 SQL 之类的查询where status = 0
,对吗?
是通过定制的唯一途径IUserTypes
吗?如果是这样,是否有任何帮助框架可以使使用IUserType
更容易以实现这一目标?
其他人如何处理这个问题?