NHibernate + JSON / Ajax父/子关系?为什么这不起作用?
时间:2020-03-06 14:51:17 来源:igfitidea点击:
我有一个典型的父母/子女关系。在.NET中编写新闻并添加子级效果很好,NHibernate可以很好地发挥作用并添加正确的关系。
但是,当从客户端向将我的JSON序列化为.NET表示形式的方法传递" JSON对象"时,NHibernate似乎感到困惑。它带有正确的查询来添加父级(并为ID分配了新的guid),但是,它并没有将该父级ID与尝试执行的SQL中的子级对象相关联。我想出了一个快速而肮脏的黑客程序,下面列出了这些程序。但是我想知道,这里是否缺少我想要的东西?
IList<BackerEntry> backersTemp = new List<BackerEntry>(); foreach (BackerEntry backerEntry in jsonBackerEntity.BackerEntries) { backersTemp.Add(backerEntry); } jsonBackerEntity.BackerEntries.Clear(); foreach (BackerEntry backerEntry in backersTemp) { jsonBackerEntity.AddChild(backerEntry); }
这样做是我似乎可以让NHibernate看到这些孩子确实属于这个父母的唯一方法。在我的AddChild方法内部看起来像这样:
public virtual void AddChild(BackerEntry backerEntry) { if (backerEntry.Backer != null) { backerEntry.Backer.BackerEntries.Remove(backerEntry); } backerEntry.Backer = this; this.BackerEntries.Add(backerEntry); }
编辑:我想我可能刚刚意识到为什么,可能是因为我没有在JSON中发回孩子的Parent属性。由于两者的循环性质,我什至不确定这是否可能。孩子有父母(在json中谁有一个孩子,谁是有父母的原始孩子,等等)...有什么想法吗?