我有一个自引用类别表。每个类别都有一个 CategoryID、ParentCategoryID、CategoryName 等。每个类别可以有任意数量的子类别,每个子类别可以有任意数量的子类别,依此类推。所以基本上树可以有 X 层深。
然后产品与叶(子)类别相关联。有没有办法使用 LINQ to SQL 获取任何给定类别的所有产品(这将是与其所有叶后代关联的所有产品)?
这感觉像是一个递归问题。是否改用存储过程更好?
最佳答案
我不认为 linq-to-sql 可以很好地解决这个问题。由于您使用的是 sql server 2005,因此您可以使用 CTE 进行分层查询。存储过程或内联查询(使用 DataContext.ExecuteQuery)都可以解决问题。
关于database - LINQ to SQL 用于自引用表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111/