ServiceStack对视图的ORMLite支持

时间:2012-11-11 15:46:06

标签: c# servicestack ormlite-servicestack

我已经阅读了mythz的帖子here,关于ORMLite如何从SQL读取任何内容并将其放入相同形状的POCO中。那很好。

另一方面,ORMLite在将它们保存回数据库时如何处理这些“View POCO”?由于它们不是表,它们可能是视图,也可能只是任何sql select查询:

var rows = dbCmd.Select<ShipperTypeCount>(
     "SELECT ShipperTypeId, COUNT(*) AS Total FROM Shippers GROUP BY ShipperTypeId ORDER BY COUNT(*)");

1 个答案:

答案 0 :(得分:6)

与OrmLite一起使用的POCO并没有什么特别之处,它们与任何基础表没有联系或相关,并且OrmLite在调用之间没有隐藏的魔法状态,因此它知道哪些字段映射到。

每次调用数据库时,OrmLite只使用POCO根据类型的模式定义创建相应的SELECT,INSERT,UPDATE或DELETE语句。 INSERT Apis显示了一些这方面的例子。

最好将OrmLite视为将POCO转换为SQL语句,这就是它的作用。因此,尝试插入ShipperTypeCount会尝试将记录插入名为 ShipperTypeCount 的表中,除非它具有将使用的[Alias("UseTableNameInstead")]属性。