petapoco可以处理连接和查询生成的列吗?

时间:2012-08-06 09:09:21

标签: c# petapoco

我有一个名为Event的对象,而且event有一些其他链接表。

[PetaPoco.ResultColumn]
public Models.User Presenter { get; set; }

Petapoco通过在我使用时抓取我的物品做了很棒的工作:

evt = db.Fetch<Models.Event, Models.User>(";EXEC GetEventDetails @id", new { id = id });

这给我带来了演讲者数据。

但问题是我的查询“可用座位”中还生成了一列 此列链接到对象:

[PetaPoco.ResultColumn]
public string AvailableSeats { get; set; }

问题是:当我使用db.Fetch时,可用席位为空。 我现在的解决方案是:

evt = db.Fetch<Models.Event>(";EXEC GetEventDetails @id", new { id = id })[0];
evt.Presenter = db.FirstOrDefault<Models.User>("WHERE id=" + evt.PresenterId);

但我真的不喜欢这个。它应该是一行代码。

这是一个petapoco错误,还是我在那里做错了什么?

1 个答案:

答案 0 :(得分:1)

我的猜测(没有在封面下看),当你进行多连接时,PetaPoco只填充相应的表字段,因为它需要猜测每个表的女巫字段匹配。

我对这些类型的连接的建议是仅使用所需属性的ViewModel对象。这更清晰,更快,只需要几分钟。