2012-11-11 83 views
4

我已閱讀mythz的帖子here,瞭解ORMLite如何從SQL中讀取任何內容,並將其嵌入到相同形狀的POCO中。太棒了。ServiceStack對視圖的ORMLite支持

另一方面,ORMLite在將它們保存回數據庫時如何處理這些「查看POCO」?因爲他們不表,他們可能是觀點或他們可能只是任何SQL SELECT查詢,這樣的:

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

回答

6

有什麼特別的你OrmLite使用波蘇斯,他們不依賴或相關回任基礎表,並且沒有任何隱藏的魔術狀態,OrmLite在調用之間緩存,以便知道哪些字段映射到。

對於每個數據庫調用OrmLite只是使用POCO根據類型的模式定義創建適當的SELECT,INSERT,UPDATE或DELETE語句。 Apis顯示了一些這方面的例子。

最好將OrmLite視爲將您的POCO轉換爲SQL語句,這就是它的作用。因此,嘗試插入ShipperTypeCount將嘗試將記錄插入名爲ShipperTypeCount的表中,除非它具有將使用的[Alias("UseTableNameInstead")]屬性。