我已经阅读了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(*)");
答案 0 :(得分:6)
与OrmLite一起使用的POCO并没有什么特别之处,它们与任何基础表没有联系或相关,并且OrmLite在调用之间没有隐藏的魔法状态,因此它知道哪些字段映射到。
每次调用数据库时,OrmLite只使用POCO根据类型的模式定义创建相应的SELECT,INSERT,UPDATE或DELETE语句。 INSERT Apis显示了一些这方面的例子。
最好将OrmLite视为将POCO转换为SQL语句,这就是它的作用。因此,尝试插入ShipperTypeCount
会尝试将记录插入名为 ShipperTypeCount 的表中,除非它具有将使用的[Alias("UseTableNameInstead")]
属性。