【问题标题】:Scaffold (reverse engineering) existing database return empty setsScaffold(逆向工程)现有数据库返回空集
【发布时间】:2020-04-30 18:04:39
【问题描述】:

我按照 Microsoft 的指示搭建了一个现有的 AzureSQL 数据库,并且之前成功地访问了数据。这是我使用的命令

"PM> Scaffold-DbContext "Server=tcp:******.database.windows.net,1433;Initial Catalog=******;Persist Security Info=False;User ID=** ****;Password=******;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models>

然而上周我的公司更改了数据库的密码,突然 Db Context 模型停止工作。我已经正确更新了连接字符串,甚至重新搭建了模型,但它仍然无法正常工作。请注意,我尝试使用该连接字符串通过 SqlConnection 进行连接或登录到 SQL Sever Explorer,但它们仍然都成功。数据团队说他们只更改了密码,仅此而已。但是,仅与 EF 核心不再起作用。没有消息错误,但是如果我创建一个对象 DbContext 并看到 99% 的 dbset 是空的。下面是我的调试照片。

以前有没有人遇到过这个问题,可以帮助我解决这个问题。提前致谢。我是新人。

【问题讨论】:

  • 嗨,我试图找出问题所在。问题来自我设置 enable 的 csproj 文件。如果我删除它,那么一切都会再次正常工作。我不知道为什么它会影响 DbContext 并使其返回空集,但这就是问题所在。
  • 恭喜!您已经通过删除 csroj 文件中的 'enable' 来解决问题。 ,我帮你把它作为答案发布,然后 Ohers 就可以知道问题已经解决了。您可以接受(标记)它作为答案。这对其他社区成员可能是有益的。谢谢。

标签: c# azure-sql-database reverse-engineering scaffolding ef-core-3.0


【解决方案1】:

恭喜你自己解决了错误:

问题来自我设置启用的 csproj 文件。如果我删除它,那么一切都会再次正常。

我帮助您将其发布为答案,这可能对其他社区成员有益。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2011-07-24
    • 2017-05-05
    • 2023-03-24
    • 2011-12-21
    • 2016-01-20
    • 2017-12-31
    相关资源
    最近更新 更多