<分区>
我正在创建一个网站,其中所有页面都卡在数据库驱动的树状层次结构之外。
除一个节点外,所有节点都有一个父节点。节点可能具有基于角色的读取权限。某些节点可能有特殊规则(例如:不显示在导航菜单中)。
节点可能表示到其他节点的链接(如 Windows 中的快捷方式)。节点通常代表页面。
页面呈现 HTML 内容或 execute programming .一些页面可能是子树的根(备用母版页和样式表)。
请帮助我在 Microsoft SQL Server 中设置我的节点数据库以供 Linq to SQL 使用。
我有三个想法:
许多轻量级的表几乎 零 nullalbe 字段。
重量级节点表有很多 nullalbe 字段。
两者中最好的(或最差的):很多 nullalbe 外键对许多 轻量级表格。
您觉得哪个最能代表数据?哪个最容易与 Linq to SQL 一起使用?
如何在数据库中保留我的数据完整性规则?我如何在我的编程中最好地执行它们?
节点必须是(但不是两者) 链接或页面。
页面必须是(但不能同时是)html 或代码。
链接不能是根、html 或代码。
我可以制作具有这种结构的 ASP.NET 站点地图提供程序吗?我应该吗?
更新:我问了一个更一般的问题:
What’s the best way to handle one-to-one relationships in SQL?