如何从Models目录的.cs文件生成EntityFrameworkCore实体关系图
解答
Blazor应用无法找到类图功能的原因
Visual Studio的类图功能针对不同项目类型做了入口限制,Blazor项目的模板默认未开放类图的添加入口,该限制属于Visual Studio的项目类型适配规则,和EF Core、类图本身的功能无关,所以你会发现在WPF、控制台等传统.NET项目中可以正常使用类图,Blazor项目中找不到对应菜单。
更简便的实体关系图生成方案
- 使用EF Core Power Tools扩展
这是EF Core官方维护的Visual Studio扩展,安装完成后右键项目,选择对应菜单即可一键基于你现有的DbContext和Scaffold生成的实体类生成完整实体关系图,自动展示实体属性、外键关联、导航属性,不需要手动拖拽类,支持自定义展示范围,生成的图可直接导出为图片格式使用。 - 实体类拆分到独立类库操作
将Scaffold生成的Models目录下所有实体和DbContext文件移动到单独的.NET Standard类库项目中,该类库项目支持直接添加类图,全选所有实体拖拽到类图文件即可自动生成关联关系,操作完成后可将类图文件复制回Blazor项目使用,也可以长期在类库中维护实体相关逻辑。 - 使用CLI命令直接生成
安装对应CLI工具后,在项目根目录执行dotnet ef dgml generate -c 你的DbContext类名 -o er图.dgml,生成的DGML格式文件可直接在Visual Studio中打开,自动生成完整的实体关系结构,全程无需手动操作类。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

