4

コレクション (コメント) を別のテーブルに保存する方法がわかりません。デフォルトでは、コメントはシリアル化され、列コメントとして SomeClass テーブルに保存されます。

[{Id:0,CreateDate:2013-09-12T14:28:37.0456202+02:00,,SomeClassID:1,CommentText:"コメントテキスト",}]

別のテーブルに保存する方法はありますか?

    public class SomeClass {

    [AutoIncrement]
    public int Id { get; set; }

    public string Title { get; set; }


    List<Comment> comments = new List<Comment>();

    public List<Comment> Comments {
        get { return comments; }
        set { comments = value; }
    }       
}
public class Comment {
    [AutoIncrement]
    public int Id { get; set; }

    [References(typeof(SomeClass))]
    public int SomeClassID { get; set; }

    [StringLength(4000)]
    public string CommentText { get; set; }

}
4

1 に答える 1

2

ORMLite が複数のテーブルへのシリアル化をサポートしているとは思わない。1 テーブル = 1 クラスであるため、コメントは SomeClass テーブルに Blob フィールドとして格納されます。

それらを別々のテーブルに保存する必要がある場合は、コメントを別々に保存し、外部キー参照を SomeClass テーブルの ID に戻す必要があります。

于 2013-09-14T02:36:00.583 に答える