如何在Entity Framework中处理此层次结构

时间:2013-04-23 16:46:49

标签: c# sql-server entity-framework database-design

我有一种特殊类型的数据模型必须使用闭包表,因为几乎每个material_composite都是它自己树的根,但也可以在任何其他material_composite树的层次结构中:

sql_model](![Data model is weighted toward root elements rather than leaf elements

我正在使用SQL Server,Entity Framework 5和WPF,这里有两个主要用例:

1)浏览整个树

2)浏览/修改单个material_composite树。

我可以使用SQL Server的FOR XML返回整个树,但是每当我想查看层次结构中特定节点的详细信息/关系时,我就会在db中做很多事情。我更愿意使用POCO实体中的实际属性。

有没有人对如何使用Entity Framework从闭包表到应用程序获得任意深层次结构有任何具体建议?

1 个答案:

答案 0 :(得分:0)

我是oracle,我可能会通过先前的查询使用某种连接来获取您需要的信息。我想你现在可以在带有CTE的sqlserver中做类似的事情

http://technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx