0

ルート要素とそのすべての関連付けは保存されますが、参照のIDは保存されません。

エンティティの関連付け

MeasureDomain 1-> * MeasureSubDomains 1-> * MeasureControls 1-> * Measure

最後のエンティティを除くすべてのエンティティに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);
}

セッションでsaveメソッドを呼び出すと、すべてが保存されますが、参照は失われます。私の例を参照してください:

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

列domeinはNULLであり、保存したMeasureDomainの値が75である必要があります。これを修正するにはどうすればよいですか?

4

1 に答える 1

3

サブドメインがどのドメインに属しているかを伝える必要があります

foreach (var item in subDomains)
{
        item.MeasureDomain = this;
        this.SubDomains.Add(item);
}
session.Update(this);
于 2012-04-13T20:42:50.897 に答える