0

エンティティに saveupdate をカスケードして関連付けを保存する際に問題があります。このマッピングのオーバーライドがあり、カスケードによって 1 対多の関連付けを保存したいのですが、うまくいきません。

public class DomainMappingOverride : IAutoMappingOverride<Tcf.Domain.Entities.Domain>
{
    /// <summary>
    /// Overrides the specified mapping.
    /// </summary>
    /// <param name="mapping">The mapping.</param>
    public void Override(AutoMapping<Tcf.Domain.Entities.Domain> mapping)
    {
        mapping.Table("domeinen");
        mapping.Map(m => m.Code, "code_1");
        mapping.Map(m => m.Description, "omschrijving");
        mapping.Map(m => m.Explanation, "toelichting");
        mapping.Map(m => m.CreatedBy, "createdby");
        mapping.Map(m => m.ModifiedBy, "modifiedby");
        mapping.Map(m => m.DateCreated, "createdat");
        mapping.Map(m => m.DateModified, "modifiedat");
        mapping.HasMany<SubDomain>(m => m.SubDomains).KeyColumn("domein").Cascade.SaveUpdate();
    }
}

オブジェクト自体は保存されますが、関連付けは保存されません。何が間違っていますか?

4

2 に答える 2

0

問題は私の AutoPersistenceModel 生成の中にありました。外部キー規則が一致しませんでした。

DomainId にマッピングされていましたが、SQL サーバー内の列名は domein です。

于 2012-02-16T14:31:10.467 に答える
0

既に開いているトランザクションがあるセッションでトランザクションを開始しようとすると、このエラー メッセージが表示されると思います。より良い回答を得るには、セッション ラッパーについて詳しく知る必要があります。

于 2012-02-06T21:47:04.697 に答える