Sql server 如果您没有';您无权访问web托管服务器上的主数据库

Sql server 如果您没有';您无权访问web托管服务器上的主数据库,sql-server,visual-studio-2010,entity-framework,Sql Server,Visual Studio 2010,Entity Framework,背景信息: 我在一个网络托管服务器上买了一个1.5GB的数据库。它只给了我访问数据库的权限 问题: 你可能不懂汉字,但你知道最后一句话的意思,这是这个错误的关键 原因: 当EF试图从web服务器检索数据库信息时发生这种情况。 如您所见,它正试图从主数据库和information_SCHEMA.tables视图中获取表的信息。这就是导致这个问题的原因,因为我无权访问那个数据库 所以我希望我能把这个问题解释清楚 解决方法: 我找到了解决问题的办法。 在您自己的本地数据库上使用完全相同的数据库结构(

背景信息

我在一个网络托管服务器上买了一个1.5GB的数据库。它只给了我访问数据库的权限

问题

你可能不懂汉字,但你知道最后一句话的意思,这是这个错误的关键

原因

当EF试图从web服务器检索数据库信息时发生这种情况。 如您所见,它正试图从主数据库和information_SCHEMA.tables视图中获取表的信息。这就是导致这个问题的原因,因为我无权访问那个数据库

所以我希望我能把这个问题解释清楚

解决方法

我找到了解决问题的办法。 在您自己的本地数据库上使用完全相同的数据库结构(相同的表、相同的列等)创建EF,然后将connectionString更改为指向web服务器

问题

每当数据库发生更改并且您想要更新EF DataContext结构时,它总是会转到主数据库和该视图以获取信息,因此您必须来回更改connectionString。它已变得微不足道

问题

还有别的办法吗?我发现LINQ2SQL没有这个问题,因为它不会自动从数据库检索信息。相反,用户必须拖动他们想要使用的表

我期待着任何精彩的回答


干杯

您应该始终针对本地数据库进行开发,并且仅在部署到生产服务器时将连接字符串更改为数据库。没有比这更好的办法了


EF取决于首次使用数据库时从主数据库读取的权限,目前无法避免。昨天甚至为这个问题创建了一个连接字符串。

您应该始终根据本地数据库进行开发,并且在部署到生产服务器时只将连接字符串更改为数据库。没有比这更好的办法了


EF取决于首次使用数据库时从主数据库读取的权限,目前无法避免。昨天甚至为这个问题创建了一个解决方案。

?3小时后没有人能回答它????3小时后没有人能回答它??谢谢你的答复。终于看到有人回答了某事。关于UserVoice的建议是我自己提出的。谢谢你的回复。终于看到有人回答了某个问题。关于UserVoice的建议是我自己提出的。