我正在创建一个网站,其中所有页面都挂在数据库驱动的树层次结构上。
除了一个节点外,所有节点都有一个父节点。节点可能具有基于角色的读取权限。某些节点可能有特殊规则(例如:不在导航菜单中显示)。
节点可能表示到其他节点的链接(如 Windows 中的快捷方式)。节点通常代表页面。
页面呈现 HTML 内容或执行编程。某些页面可能是子树的根(备用母版页和样式表)。
请帮助我在 Microsoft SQL Server 中设置我的节点数据库以供 Linq to SQL 使用。
我有三个想法:
许多具有几乎为零的 nullalbe 字段的轻量级表。
具有大量 nullalbe 字段的重量级节点表。
两者中最好的(或最坏的):许多轻量级表的大量空外键。
您认为哪个最能代表数据?哪个最容易与 Linq to SQL 一起使用?
如何将我的数据完整性规则保存在数据库中?我如何在我的编程中最好地执行它们?
节点必须是(但不能同时是)链接或页面。
页面必须是(但不能同时是)html 或代码。
链接可能不是根目录、html 或代码。
我可以制作具有这种结构的 ASP.NET 站点地图提供程序吗?我是不是该?
更新:我问了一个更一般的问题:
相关问题:
如何在我的数据库中实施数据完整性规则?