在nhibernate中从INSERT命令中排除属性

时间:2014-10-07 06:07:51

标签: nhibernate nhibernate-mapping

我有一个具有属性的实体我希望是readonly - 这意味着当我将此实体插入数据库时​​,SqlServer将自动生成属性的值,因此我需要nhibernate在执行INSERT命令时忽略此属性但是它在选择实体时。

重要提示:此属性不是ID!我不希望NHibernate使用生成器初始化它,SqlServer会自己完成它。

另外注意:我使用配置映射,所以请不要使用流畅的映射解决方案。

1 个答案:

答案 0 :(得分:1)

支持该功能。有两个属性:

<property name="GeneratedBySql" insert="false" update="false" />

即使是参考映射也可以应用

<many-to-one name="ReferenceGeneratedBySql" insert="false" update="false" />

如果我们想使用Mapping-by-Code,我们确实有相同的地方,请参阅:

Mapping-by-Code - Property (Adam Bar)

片段引用:

Property(x => x.Property, m =>
{
    m.Column("columnName");
    ...
    m.Update(false);
    m.Insert(false);