Сопоставление нескольких классов с dapper - PullRequest
0 голосов
/ 29 февраля 2012

Как я могу получить эти объекты с помощью Dapper?Например:

public class ClassA
{
    public int Id { get; set; }
    public string Text { get; set; }
    public ClassB b { get; set; }
    public ClassC c  { get; set; }
    public ClassD d { get; set; }
    public ClassE e { get; set; }
    public ClassF f { get; set; }
}

public class ClassB
{
   public int Id {get; set;}
   public string Text {get; set;}
}
    ...

public class ClassF
{
   public int Id {get; set;}
   public string Text {get; set;}
}  

Я использую connection.Query<ClassA, ClassB, ClassC, ClassD, ClassE, ClassF, ClassA>(sql, ... ), но Dapper допускает только мульти-отображение с максимум 5 аргументами.

Спасибо

1 Ответ

0 голосов
/ 01 марта 2012

Ну наконец-то я переместил поля, которые мне нужны, в основной класс.

public class ClassA
{
    public int Id { get; set; }

    public string Text { get; set; }

    public string TextB { get; set; }

    public string TextC{ get; set; }

    public string TextD{ get; set; }
}



    using (var sqlConnection = new SqlConnection(connStr))
                {
                    OpenConnection(sqlConnection);
                    string sql = @"select a.id 'Id', a.text 'Text', b.text 'TextB', c.text 'TextC', d.text 'TextD' 
                                    from tableA a inner join tableB b on a.idB = b.id inner join tableC c on a.idC = c.id 
                                         inner join tableD d on a.idD = d.id";
                    var rows = sqlConnection.Query<ClassA>(sql).ToList();
                    return rows.ToList();
                }
...