2012-05-23 43 views
1

我使用C#ASP.NET和必須通過使用遞歸出來的應用程序的要求。我目前正在使用Linq to Entities並在網上進行大量搜索,但無法找到並執行遞歸查詢的方式。我不知道遞歸會有多少級別。什麼ORM可以處理遞歸

回答

1

我有一個類似的問題解決了,我最後寫這遞歸了我的數據源,並返回一個IEnumerable所有項目,以一個輔助功能。但就我而言,數據來源是線性的。如果你的更多是一個樹形結構,並且必須分層顯示,這不會真正起作用。

0

我不知道你有什麼確切的問題,我不知道還有什麼其他奧姆斯在做什麼。

我認爲NHibernate的應該解決大部分的問題直截了當。

  • 使用延遲加載:兒童懶惰加載。你不需要類似遞歸查詢的東西,這在SQL中是不可能的。
  • 導航與延遲加載在兩個方向。因此,您可以使用簡單的查詢從數據庫獲取節點並導航到其父節點。
  • 在許多情況下是有意義的一些額外的冗餘添加到遞歸圖。例如對根節點的引用,它允許查詢至少有一個節點符合標準的樹。或節點的深度(它與根的距離)。或者子節點的數量等等。無論您需要什麼查詢。