0

以下に示すような構造のクラスがいくつかあります。

[ActiveRecord]
public class Request : ActiveRecordBase
{
    [PrimaryKey]
    public int Id {get; set;}

    [Nested("SectionA")]
    public SectionA A {get; set;}

    [Nested("SectionB")]
    public SectionB B {get; set;}

}

public class SectionA
{
    [Property]
    public string Description {get; set;}

    [Property]
    public string Remark {get; set;}

    [HasMany(typeof(Attachment), 
             Table="Attachments", ColumnKey="RequestId",
             Where="Section = 'SectionA'")]
    public IList Attachments {get; set;}
}

public class SectionB
{
    [Property]
    public string Description {get; set;}

    [HasMany(typeof(Attachment), 
             Table="Attachments", ColumnKey="RequestId",
             Where="Section = 'SectionB'")]
    public IList Attachments {get; set;}

}

[ActiveRecord]
public class Attachment
{
    [PrimaryKey]
    public int Id {get; set;}

    [BelongsTo("RequestId")]
    public Request Owner {get; set;}

    [Property]
    public string Section {get; set;}

    [Property]
    public string FilePath {get; set;}
}

添付ファイルクラスの列にもプレフィックスが付いていることを除いて、すべてが正常に機能します。また、プレフィックスが付いている場合と付いていない場合があるため、非常にランダムに発生します。

添付ファイルにプレフィックスが付かないようにする方法はありますか、それともこの問題を防ぐためにクラスを構造化するためのより良い方法がありますか。

4

1 に答える 1

0

Attachment クラスのネストされたプレフィックスを防ぐ方法は、Request と Attachment を直接接続することです。まだ数回の反復を観察する必要があります。

[ActiveRecord]
public class Request : ActiveRecordBase
{
    [PrimaryKey]
    public int Id {get; set;}

    [HasMany(typeof(Attachment)]
    public IList Attachments {get; set;}

    [Nested("SectionA")]
    public SectionA A {get; set;}

    [Nested("SectionB")]
    public SectionB B {get; set;}

}
于 2012-12-05T05:04:11.887 に答える