Попытка использовать 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 классов.