2

尝试在我的项目中使用 BLToolkit 映射器。有一件事我真的不知道如何解决,问题是我有 2 个类 Content 和 Comment。

[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 数据……我现在什至不关心 realtions ,我只是想向 BLToolkit 解释一下,1 行中有 2 个类的数据。

4

0 回答 0