Комплексное отображение BLToolkit с помощью SELECT JOIN - PullRequest
2 голосов
/ 23 апреля 2011

Попытка использовать BLToolkit mapper в моем проекте. Есть вещь, которую я действительно не знаю, как решить, дело в том, что у меня есть 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 есть только данные контента, но нет комментариев ... Если я буду обмениваться наборами контента и комментариев ... я получу только данные комментариев и никаких данных контента ... Меня сейчас даже не волнуют реалии , я просто хочу объяснить BLToolkit, что в 1 строке есть данные 2 классов.

...