You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET MVC应用中查看SQL Server所有表的database schema

查看带关联关系的SQL Server完整数据库Schema的方法

1. 直接执行系统视图查询

无需额外工具,在任意可执行SQL的工具(SSMS、项目内置数据库查询工具等)中运行以下命令,即可获取所有表的字段、类型、约束、外键关联等完整Schema信息:

SELECT 
    t.name AS 表名,
    c.name AS 字段名,
    ty.name AS 字段类型,
    c.max_length AS 字段长度,
    c.is_nullable AS 是否允许为空,
    ISNULL(pk.is_primary_key, 0) AS 是否主键,
    fk.name AS 外键约束名,
    referenced_t.name AS 关联表名,
    referenced_c.name AS 关联字段名
FROM 
    sys.tables t
INNER JOIN sys.columns c ON t.object_id = c.object_id
INNER JOIN sys.types ty ON c.system_type_id = ty.system_type_id AND c.user_type_id = ty.user_type_id
LEFT JOIN (
    SELECT ic.object_id, ic.column_id, 1 AS is_primary_key 
    FROM sys.indexes i
    INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
    WHERE i.is_primary_key = 1
) pk ON c.object_id = pk.object_id AND c.column_id = pk.column_id
LEFT JOIN sys.foreign_key_columns fkc ON c.object_id = fkc.parent_object_id AND c.column_id = fkc.parent_column_id
LEFT JOIN sys.foreign_keys fk ON fkc.constraint_object_id = fk.object_id
LEFT JOIN sys.tables referenced_t ON fkc.referenced_object_id = referenced_t.object_id
LEFT JOIN sys.columns referenced_c ON fkc.referenced_object_id = referenced_c.object_id AND fkc.referenced_column_id = referenced_c.column_id
ORDER BY 
    t.name, c.column_id

如果仅需要查询表间关联关系,可运行简化版SQL:

SELECT 
    fk.name AS 外键名,
    OBJECT_NAME(fk.parent_object_id) AS 子表名,
    COL_NAME(fkc.parent_object_id, fkc.parent_column_id) AS 子表外键字段,
    OBJECT_NAME(fk.referenced_object_id) AS 父表名,
    COL_NAME(fkc.referenced_object_id, fkc.referenced_column_id) AS 父表关联字段
FROM 
    sys.foreign_keys fk
INNER JOIN sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
ORDER BY 
    子表名, 父表名

2. SQL Server Management Studio (SSMS) 可视化查看

  • 生成完整Schema脚本:右键目标数据库 → 选择「任务」→ 「生成脚本」,按照向导提示选择所有表/数据库对象,在脚本选项中勾选需要导出的约束、外键、索引等元素,即可生成完整的Schema创建脚本
  • 可视化关系图:右键数据库节点下的「数据库关系图」→ 「新建数据库关系图」,添加所有需要查看的表后,SSMS会自动用连线展示已配置的外键关联关系,直观呈现表间关联逻辑

3. 基于ASP.NET MVC项目的Entity Framework工具导出

如果你的项目使用Entity Framework作为数据访问组件,可直接在开发环境导出Schema:

  • 若使用EF6,在Visual Studio的包管理器控制台执行Update-Database -Script,即可生成从空库到当前版本的全量Schema脚本,包含所有表关联配置
  • 若使用EF Core,在包管理器控制台执行Script-Migration,即可生成包含所有表结构、约束、关联关系的完整Schema脚本

内容的提问来源于stack exchange,提问作者Abdulatif Hejazi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 20:06:08