unproxy属性映射nhibernate

时间:2017-01-04 12:53:11

标签: c# nhibernate proxy nhibernate-mapping

您可以在没有代理的情况下放置房产吗?因为我需要得到它的价值。以下是映射:

  public class MateriaPrimaMap : ClassMap<MateriaPrima> {

    #region Construtor

    public MateriaPrimaMap() {
        Table("MATERIAPRIMA");           

        Id(m => m.Id).Column("MPR_CD");

        Map(m => m.Descricao)
        .Column("MPR_DS")
        .Not.Nullable().Length(30);

        Map(m => m.Ativo)
         .Column("MPR_ATIVO")
         .Not.Nullable();

        Version(m => m.Version).Column("MPR_DT_LK").Generated.Always();
    }

    #endregion
}}

图像代理属性: enter image description here

2 个答案:

答案 0 :(得分:1)

你可以使用NHibernate的映射,让你映射另一个实体的属性(与主要属性相关),就好像它是它的一部分一样。 见这里:http://nhibernate.info/doc/nhibernate-reference/mapping.html#mapping-declaration-join

答案 1 :(得分:1)

如果您有代理,则可以使用INHibernateProxy引用here获取标识符。

如果您不处理代理服务器,只需添加其他属性并映射它们,请务必使用.Not.Insert().Not.Update()以避免映射问题。

Map(m => m.DescricaoId)
    .Column("MPR_DS")
    .Not.Insert().Not.Update();

Map(m => m.AtivoId)
    .Column("MPR_ATIVO")
    .Not.Insert().Not.Update();