2

プロジェクトで BLToolkit マッパーを使用しようとしています。解決方法が本当にわからないことがあります。問題は、コンテンツとコメントの2つのクラスがあることです。

[MapField("CommentItemId","CommentContent.ContentId")]
public class Comment
{
    [MapField("Comment.CommentId")]
    public int CommentId;

    [Relation(typeof(Content))]
    public Content CommentContent;
}


 public class Content
{
    [MapField("ContentId"),PrimaryKey]
    public int ContentId;

    public IList<Comment> Comments = new List<Comment>();
}

まあ、誰もがBLToolkit.netで見た例と同じくらい単純な複雑なマッピングに見えます。しかし、私は SELECT JOIN クエリを使用しようとしています。これは私の質問です。

MapResultSet[] sets = new MapResultSet[2];
sets[0] = new MapResultSet(typeof(Content));
sets[1] = new MapResultSet(typeof(Comment));

command = String.Format(@"SELECT con.ContentId,com.CommentId,com.CommentItemId
                           FROM Content as con,Comments as com
                           WHERE (con.ContentId = com.CommentItemId AND con.ContentId {0})", itemid, type);

このクエリは正しいデータを返します ( ExecuteReader で確認)。しかし、MapResultSets には Content データのみがあり、Comment データはありません ... Content と Comment セットを交換すると ... Comment データのみが取得され、 Content データは取得されません ... 今のところ、現実についても気にしません。 、 BLToolkit に説明したいのですが、1 行に 2 つのクラスのデータがあるということです。

4

0 に答える 0