C# EDMX从数据库更新模型超时
我有一个MSSQL数据库,有大约3300个表(不要问为什么,那是Nav…)。 当我尝试在EDMX上“从数据库更新模型…”时,100次中有99次出现超时异常。 所以我的问题是,有没有办法改变超时时间? 我试图在连接字符串中设置“连接超时”,但它没有改变任何东西 我还尝试创建一个SQL帐户,只访问我需要的表(大约10个),但向导中的超时仍然存在。一个小的解决方法:C# EDMX从数据库更新模型超时,c#,sql-server,entity-framework,edmx-designer,C#,Sql Server,Entity Framework,Edmx Designer,我有一个MSSQL数据库,有大约3300个表(不要问为什么,那是Nav…)。 当我尝试在EDMX上“从数据库更新模型…”时,100次中有99次出现超时异常。 所以我的问题是,有没有办法改变超时时间? 我试图在连接字符串中设置“连接超时”,但它没有改变任何东西 我还尝试创建一个SQL帐户,只访问我需要的表(大约10个),但向导中的超时仍然存在。一个小的解决方法: 生成一个sql脚本,以便仅从数据库中创建所需的表 创建另一个数据库并执行sql脚本 从这个新数据库生成EDMX 更改EDMX的连接字符
- 生成一个sql脚本,以便仅从数据库中创建所需的表
- 创建另一个数据库并执行sql脚本
- 从这个新数据库生成EDMX
- 更改EDMX的连接字符串以连接到第一个DB
SELECT
[Project1].[C1] AS [C1],
[Project1].[CatalogName] AS [CatalogName],
[Project1].[SchemaName] AS [SchemaName],
[Project1].[Name] AS [Name]
FROM ( SELECT
[Extent1].[CatalogName] AS [CatalogName],
[Extent1].[SchemaName] AS [SchemaName],
[Extent1].[Name] AS [Name],
1 AS [C1]
FROM (
SELECT
quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
, TABLE_CATALOG [CatalogName]
, TABLE_SCHEMA [SchemaName]
, TABLE_NAME [Name]
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = 'BASE TABLE'
) AS [Extent1]
) AS [Project1]
ORDER BY [Project1].[SchemaName] ASC, [Project1].[Name] ASC
在同一个EDMX文件中是否确实需要3300个表?您使用哪些SQL Server和EF版本以及EF Tools版本?我没有说我的EDMX有3300个表,我说DB有3300个表,当向导尝试从DB获取表列表时会出现超时。因此,我甚至无法将表添加到EDMX。对不起,如果不清楚的话。啊,好的。不,连接超时没有帮助。无法在连接字符串中设置和命令超时。是否可以选择切换到“代码优先”(但实际上不是,即不迁移)?当数据库更改时,您必须手动同步EF模型。通常这并不太复杂。(此外,本机edmx支持将在EF 7中消失)。