database - LINQ to SQL 用于自引用表?

标签 database linq-to-sql

我有一个自引用类别表。每个类别都有一个 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/

相关文章:

database - 查询 Postgresql 管理员权限

c# - LINQ to SQL 和自关联表

c# - 传递两个值来查看?

c# - 索引 SQL 表会提高 LINQ 语句的性能吗?

database - 在设置项目中管理 Entity Framework 代码优先迁移

java - SQLite 不允许我为数据库中的某些表添加条目

sql-server - Linq To Sql/SQL 查询帮助

c# - 如果 'SubmitChanges' 失败但需要其他提交,如何回滚 DBContext 中的数据更改?

php - 关注者的 MySQL 数据库结构

mysql - 不同年份有两个月的 where 子句