0
我有一個存儲在單個表中的基本樹結構。比方說,這是我的模型:NHibernate:遞歸查詢
public class TreeNode {
public virtual Guid Id { get; private set; }
public virtual string Name { get; private set; }
public virtual IEnumerable<TreeNode> Contents { get; private set; }
}
和表:
TREE_NODES
PK_NODE Guid
FK_NODE_PARENT Guid
NODE_NAME的Varchar
我想下面的實現,其中返回值是充分即時加載樹一樹節點其子女及其子女等
public class Tree {
ISessionFactory _sessions;
public TreeNode GetBy(Guid id) {
using(var s = _sessions.OpenSession())
return s.Linq<TreeNode>().Single(n => n.Id == id);
}
}
我該怎麼做m apping?
您能否詳細說明「在樹上裝載功能並強制評估」?我不知道這意味着什麼。什麼是與nhibernate有關的加載函數? – 2010-08-06 17:12:09
是的,這只是示例代碼。樹更像是一個無狀態的存儲庫,而不是一個實體。我發現這篇關於NH的文章:http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/05/14/how-to-map-a-tree-in-nhibernate.aspx – 2010-08-06 18:22:10
這裏有另一個參考例子:http://refactoringaspnet.blogspot.com/2011/04/using-common-table-expressions-to.html – 2011-05-07 10:39:55