2012-04-13 47 views
0

我的根元素被保存,所有关联都被保存,但是引用的id不被保存。NHibernate关联保存时没有多对一的编号

实体关联设定

MeasureDomain 1 - > * MeasureSubDomains 1 - > * MeasureControls 1 - > *测量

我对除了最后一个所有实体的AddRange方法。这里有一个例子:

/// <summary> 
/// Gets or sets the sub domains. 
/// </summary> 
/// <value> 
/// The sub domains. 
/// </value> 
public virtual IList<MeasureSubDomain> SubDomains { get; set; } 
/// <summary> 
/// Adds the sub domain. 
/// </summary> 
/// <param name="subDomain">The sub domain.</param> 
public virtual void AddSubDomains(IEnumerable<MeasureSubDomain> subDomains) 
{ 
    foreach (var item in subDomains) 
     this.SubDomains.Add(item); 
} 

当我呼吁所有会话保存方法是保住了,但基准丢失。见我的例子:

MeasureDomain进入

id code_1 omschrijving createdat createdby modifiedat modifiedby toelichting 
75 05 Beveiligingsbeleid NULL NULL NULL NULL NULL 

MeasureSubDomain进入

id code omschrijving domein createdat createdby modifiedat modifiedby toelichting 
204 01 Informatiebeveo  NULL NULL NULL NULL NULL Directie richting en ondersteuning bieden voor informatiebeveiliging overeenkomstig de bedrijfsmatige eisen en relevante wetten en voorschriften 

列杜梅因是NULL,并应具有的价值我的节约MeasureDomain的75%,如何解决 这个?

回答

3

你需要告诉它属于哪一个域

foreach (var item in subDomains) 
{ 
     item.MeasureDomain = this; 
     this.SubDomains.Add(item); 
} 
session.Update(this); 
+0

OMG,这就是123987这个时间happends给我的子域。我总忘了设置它所属的域属性。非常感谢!你为我节省了很多时间,多么愚蠢。 – 2012-04-13 20:45:45

相关问题