我创建了从MSSQL DB读取并显示一些数据的项目。 VS的向导创建了如下连接字符串:
<add name="SomeContext" connectionString="data source=xxx.xxx.xxx.xxx\_name,port;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
当我尝试将应用程序部署到真实Web服务器时,我更改了连接字符串以使用无面数据库帐户:
<add name="SomeContext" connectionString="data source=xxx.xxx.xxx.xxx\_name,port;User Id=userid;Password=password; MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
看起来EF认为需要进行一些迁移并尝试执行许多无意义的操作,包括尝试使用模式创建执行SQL表达式。
我对此数据库服务器没有写入权限,并且我没有看到任何允许EF更改数据库结构的原因。
所以我完全迷失在那里。在不改变数据库方面的情况下更改授权方法的正确方法是什么?
答案 0 :(得分:1)
尝试在VS项目中将连接字符串更改为生产,然后通过Package Manager控制台使用Update-Database。
答案 1 :(得分:0)
对我来说很奇怪,但问题的根源是默认的“初始目录”。它被存储在某处以便与集成安全性连接但是当我更改授权方法时默认被破坏了。一旦我定义了初始目录,它就被修复了。