所以是的,我正在尝试在我的数据库中插入一个新实体,它有一些指向辅助表的外键,在这种情况下不应该更新。
它总共有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表上插入一个新项
我该如何解决这个问题? 提前谢谢!