Давайте добавим несколько полей в этот запрос (и мы собираемся поместить его в строку с именем queryString
):
select
t1.FooStr
t2.BarInt
t3.QuuzDate
t4.IsAFoo
t5.And
t6.So
t7.On
from tbl1 t1
join tbl2 t2 on t2.id = t1.id
join tbl3 t3 on t3.id = t1.id
join tbl4 t4 on t4.id = t1.id
join tbl5 t5 on t5.id = t1.id
join tbl6 t6 on t6.id = t1.id
left outer join tbl7 on t7.id = t1.id
left outer join tbl8 on t8.id = t6.id
left outer join tbl9 on t9.id = t1.id
left outer joint tbl10 on t10.id = t9.id
where ...
Затем создайте класс, подобный:
public class SomeType
{
public string FooStr { get; set; }
public int BarInt { get; set; }
public DateTime QuuzDate { get; set; }
public bool IsAFoo { get; set; }
public string And { get; set; }
public string So { get; set; }
public string On { get; set; }
}
Ваш запрос будет выглядеть так:
var results = myConnection.Query<SomeType>(queryString);
если ваше предложение where
выглядело так:
where t1.FooStr = @Name and t2.BarInt > @MinVal
тогда запрос будет выглядеть так:
var results = myConnection.Query<SomeType>(queryString, new {Name = "Flydog", MinVal = 10});
Класс POCO не имеет ничего общего с таблицами в запросе, он определяется тем, как выглядит набор результатов запроса.