如果我有一个带有DateTime属性的对象,是否可以将Date和Time映射到同一对象中的单独属性? I.e具有StartDateTime,StartDate和StartTime的对象,其中StartDateTime作为数据库中的列存在,StartDate和StartTime仅引用StartDateTime列的不同部分。
提前感谢您提供任何帮助。
答案 0 :(得分:1)
我想说,这里的诀窍是:
例如,我用于映射version
的非常类似的场景。所以虽然这将是映射:
<version name="Timestamp" generated="always" unsaved-value="null" type="BinaryBlob">
<column name="RowVersion" not-null="false" sql-type="timestamp"/>
</version>
它正在使用byte[]
,很难发送到UI - 客户端。所以这就是域实体表示。
protected virtual byte[] Timestamp { get; set; }
public virtual string Version
{
get { return Timestamp.IsEmpty() ? null : Convert.ToBase64String(Timestamp); }
set { Timestamp = value.IsEmpty() ? null : Convert.FromBase64String(value); }
}
有了这些,我们可以version
将string
作为QueryOver
发送给客户...并将其取回...
注意:我会将DB列映射到公共属性。这样可以更轻松地在{{1}}个查询中使用该属性...至少getter可以是公开的