Имея 2 PocosCan Peta Poco подходит для сложных типов?
public class ProductInfoModel
{
public int Id { get; set; }
public string Name { get; set; }
public ItemInfo Producer { get; set; }
}
public class ItemInfo
{
public int Id {get;set;}
public string Name {get;set;}
}
Могу ли я сделать что-то вроде этого?
var result=db.Query<ProductInfoModel>("select p.Id,p.Name,pr.Id as Producer_Id, pr.Name as Producer_Name from products p inner join producers pr on pr.Id=p.ProducerId")
В целом, знает ли PetaPoco, как бороться с Pocos, содержащим другие Poco?
Я знаю об экспериментальных запросах Multi-Poco, но они кажутся мне довольно сложными и не совсем то, что я хочу.
Он бросает исключение о точке разделения. Кажется, что имена столбцов для вложенного poco должны быть такими же, как и его свойства, без намека на тип. – MikeSW
Это правильно, поэтому вам нужно удалить «as Producer_Id». PetaPoco перейдет к следующему poco T, когда следующее имя столбца в последовательности результатов не соответствует текущему poco. Вы можете переопределить это с помощью атрибута [Столбец] в свойствах poco: http://www.toptensoftware.com/Articles/75/PetaPoco-Named-Columns-Result-Columns-and-int-long-conversion –