session.Save强制插入id 0关系对象 - Fluent NHibernate

时间:2017-12-13 11:03:49

标签: c# fluent-nhibernate

所以是的,我正在尝试在我的数据库中插入一个新实体,它有一些指向辅助表的外键,在这种情况下不应该更新。

它总共有8个外键,它们都在工作但是必须是id = 0;

using (var session = FluentNHibernateHelper.OpenSession())
{
   using (var transaction = session.BeginTransaction())
   {
      try
      {
         session.SaveOrUpdate(p);
         transaction.Commit();
         return p;
      }
      catch (Exception e)
      {
         Console.WriteLine(e.Message);
      }
    }
}

我想没有必要显示实体本身的结构,而是显示对象的地图:

References(x => x.Jerarquia).Column("TCODJERARQUIALIN").Cascade.All().Not.Nullable();
References(x => x.Conformidad).Column("TCODCONFORMIDADL").Cascade.All().Not.Nullable();
References(x => x.Tramitacion).Column("TCODESTADOTRAMIT").Cascade.All().Not.Nullable();
References(x => x.SistemaReferencia).Column("TCODSISTEMAREFER").Cascade.All().Not.Nullable();
References(x => x.Vigencia).Column("TCODVIGENCIALINE").Cascade.All().Not.Nullable();
References(x => x.CategoriaGeometrica).Column("TCODCATGEOMETRIC").Cascade.All().Not.Nullable();
References(x => x.Territorio1).Column("TCODIDTERRITORI1").Cascade.All().Not.Nullable();
References(x => x.Territorio2).Column("TCODIDTERRITORI2").Cascade.All().Not.Nullable();

其余映射的结构如下所示,无论相关项目是什么:

Id(x => x.TCODJERARQUIA).Column("TCODJERARQUIA").Not.Nullable();
Map(x => x.TTEXDESCJERAR_ES).Column("TTEXDESCJERAR_ES").Not.Nullable();
Map(x => x.TTEXDESCJERAR_EU).Column("TTEXDESCJERAR_EU").Not.Nullable();
Table("TARLLJERAR");

总结一下,如果其中一个外键项是id = 0,它不会设置外键但会在aux表上插入一个新项

我该如何解决这个问题? 提前谢谢!

0 个答案:

没有答案