首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将数据库移动到新服务器后,无法在visual studio 2010的实体框架设计器中查看Server 2008表

在将数据库移动到新服务器后,无法在visual studio 2010的实体框架设计器中查看Server 2008表
EN

Stack Overflow用户
提问于 2011-12-15 18:52:58
回答 2查看 2.4K关注 0票数 1

在试图更新Visual 2010中的实体框架图(EFD)时,我很难从一个特定的Server 2008数据库中看到表。在将数据库移动到新服务器之前,这是工作的。此服务器上的所有其他DB都成功地显示了它们的表(在VS实体框架设计中>右键单击>更新数据库模型> 'Add‘tab >展开tables = nothing出现在这里时)。

应激

  1. I在A计算机上创建了一个数据库,并在Visual 2010中使用同一台计算机构建了一个网站应用程序。一切正常。然后,
  2. 我将DB和网站应用文件移至主服务器,即计算机B。
  3. ,我试图从计算机A的VS连接,但在更新EFD时无法看到任何数据库表。
  4. ,我尝试在计算机B上本地打开VS,但仍然看不到EFD表。
  5. ,我尝试备份/恢复数据库,以查看它是否是操作系统文件问题。<-
  6. ,我尝试创建一个新的数据库,并使用Server中生成的脚本来构建新的数据库。
  7. 我也尝试过更改db的所有者,移到sql身份验证并返回到windows,甚至向不同的用户添加了安全性,我认为这些用户是不相关的(比如系统和来宾)。

我认为这是一个权限问题,但我似乎在DBs中找不到任何不同之处(在实体框架设计器中正确显示它们的表)和这个不同之处。我也看不出用户VS可能使用什么来获取表信息,我假设我已经设置了连接,但不确定。

我完全被困住了。在实体框架设计器中,我试图使用"System.Data.SqlClient“、windows集成身份验证(它应该使用系统上的管理帐户和数据库所有者)进行连接。实体框架的连接字符串如下:

代码语言:javascript
复制
metadata=res://*;provider=System.Data.SqlClient;
    provider connection string="Data Source=localhost;Initial Catalog=myDB;
    Integrated Security=True"

最后一个注意事项--如果我只进入右上角的VS到我的服务器资源管理器( Server )中,我可以在那里创建一个连接并查看所有的表。然而,不幸的是,这无助于我的EFD。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-17 19:52:02

排除故障的步骤:

database

  • Generate

  • 从旧的

  • 运行脚本一个接一个地创建新的空白

  • 脚本,以查看是什么破坏了它(每个表、视图等)

我发现这很好,没有什么可以破坏它,但是区别在于,我没有创建新的模式和用户NT授权/系统,直到脚本的末尾,在开始运行完整的脚本时才创建它们(而且它不起作用)。我不知道为什么会出现这样的问题--所有的表都是用'dbo.‘’创建的。无论如何,前缀都不应该放在这个模式中。

考虑到这一点,我进入了原来的db,简单地删除了NT授权/系统的模式和用户登录,一切都很好。再一次,如果有人有意见的话,我很乐意发表意见。

现在一切都在工作,我甚至重新映射了这个用户的安全性,以便再次允许公众访问数据库,并为它创建了一个默认的模式,并使用相同的名称,它运行良好。我真的无法解释这件事。

票数 0
EN

Stack Overflow用户

发布于 2011-12-15 19:48:51

它可能是不同版本的实体框架,但这些连接字符串中似乎缺少了一些东西,我的如下所示:

代码语言:javascript
复制
 connectionString="metadata=res://*/xxx.csdl|res://*/xxx.ssdl|res://*/xxx.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxx;initial catalog=xxx;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

在提供者声明之前我有一堆东西。

另外,您是否尝试删除.config文件上的连接字符串并重新运行向导,如这个答案:How should I edit an Entity Framework connection string?中所述?

最后,您是否尝试过使用工作的连接生成另一个.edmx文件?如果您对对象层进行了许多与db设计不匹配的自定义更改,那么我猜这不是创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8525122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档