4

我在这里阅读了mythz 的帖子,内容是关于 ORMLite 如何从 SQL 中读取任何内容并将其放入相同形状的 POCO 中。这太棒了。

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

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

1 回答 1

6

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

对于每个 DB 调用,OrmLite 只使用 POCO 根据类型的模式定义创建适当的 SELECT、INSERT、UPDATE 或 DELETE 语句。INSERT APIs 显示了这方面的一些示例。

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

于 2012-11-11T17:34:43.530 回答