0

假设我们有两个实体BlogPost并且Blog有很多Posts。Post通过 间接保存Blog。当我覆盖OnUpdatein 时Post,它会导致保存Post具有 null 的 s Blog。另一方面,覆盖OnUpdate导致Post无法正确保存它。其他人也有同样的问题

代码是:

protected override void OnUpdate()
{
    UserModified = "UserModified";
    DateModified = DateTime.Now;

    base.OnUpdate();
}
4

1 回答 1

0

自己找到了解决方法。如果明确设置儿童专利,它将起作用。考虑以下代码:

[ActiveRecord(Lazy = true)]
public class Lookup : ActiveRecordBase<Lookup>
{
    [HasMany(typeof(LookupItem), Cascade = ManyRelationCascadeEnum.All)]
    public virtual IList Items { set; get; }

    //other properties...
}


[ActiveRecord(Lazy = true)]
public class LookupItem : ActiveRecordBase<LookupItem>
{
    [BelongsTo("Lookup_id")]
    public virtual Lookup ContainerLookup { set; get; }

    //other properties...
}

void SaveLookup()
{
    Lookup lookup = GetLookup();
    LookupItem lookupItem = new LookupItem()
    {
        Title = LookupItemName,
        ContainerLookup = lookup
    };
    lookup.Items.Add(lookupItem);
    lookup.Save();
}
于 2010-07-13T06:37:58.497 回答