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

能否让Scaffold-DbContext跳过生成modelBuilder.HasDefaultSchema语句?

如何让Scaffold-DbContext跳过生成默认架构语句

可以直接通过Scaffold-DbContext命令的参数来跳过生成modelBuilder.HasDefaultSchema()语句,具体分两种场景操作:

Package Manager Console(Visual Studio内)

使用-NoDefaultSchema参数:

Scaffold-DbContext "Server=your-server;Database=your-db;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -NoDefaultSchema

.NET CLI

使用--no-default-schema参数:

dotnet ef dbcontext scaffold "Server=your-server;Database=your-db;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer --output-dir Models --no-default-schema

原理说明

用集成安全连接数据库时,EF Core的脚手架工具会自动检测当前登录用户的默认架构,并生成HasDefaultSchema语句绑定到该架构。添加上述参数后,工具会跳过这个默认架构的设置逻辑,生成的OnModelCreating方法里就不会出现这条语句了。

你已经验证过手动删除该语句后程序运行正常,使用这个参数就能直接在生成阶段避免这条不必要的代码,不用再手动修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:22:07