首页 > 解决方案 > EF 核心 Scaffold-DbContext 不起作用:执行超时已过期

问题描述

我正在尝试从现有数据库中构建模型。

Scaffold-DbContext "connectionString" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

但我得到了这个错误:

Microsoft.Data.SqlClient.SqlException (0x80131904):执行超时已过期。在操作完成之前超时时间已过或服务器没有响应。

有任何想法吗?

标签: c#sql-serverentity-framework-coredatabase-first

解决方案


据我所知,目前没有解决方案。SQL Server 连接字符串不允许定义命令超时,而只能定义连接超时。我使用该--schema dbo选项解决了它,该选项消除了十几个具有另一个模式的表,现在它可以工作了。但是持续多久?

我的代码:

dotnet ef dbcontext scaffold "SERVER=.;DATABASE=dbstore0;Integrated Security=SSPI;Connection Timeout=300;TrustServerCertificate=True" Microsoft.EntityFrameworkCore.SqlServer -f -o DbStore\Models --context-dir DbStore\Contexts -c DbStoreContext -p Store.Domain.csproj --no-pluralize --schema dbo

推荐阅读