Entity Framework Code First 在服务器资源管理器中找不到数据库
Entity Framework Code First can't find database in server explorer
所以我按照 Entity Framework Code First 的介绍来创建一个新数据库 ( https://msdn.microsoft.com/en-us/data/jj193542 ),并且我完全按照示例进行操作。现在我想在 Visual Studio 2013 年将它添加到我的服务器资源管理器中。
尝试了 LocalDb ((localdb)\v11.0) 或 SQL Express (.\SQLEXPRESS) 但数据库没有显示,我知道它在工作,因为我已经现在对其进行了多次测试,它一直在从数据库中附加和获取数据,那么它会驻留在何处?
除了默认的 Visual Studio 2013,我还有一个 SQL 服务器设置。谢谢
配置
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit go.microsoft.com/fwlink/… -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
查看您的配置(在聊天期间提供)我可以看到您的 EF 正在使用 localdb 和 MSSQLLocalDB
实例。
尝试:
(localdb)\MSSQLLocalDB
我通过执行以下操作找出了我的数据库的位置:
- 在我调用
context
或 dbcontext
或任何你想调用它的地方放置一个断点
- 当您位于该断点时,向下钻取
Database
-> Connection
,您会在其中的某处找到您的连接字符串。
按照 VS2015 中的 Microsoft 示例,我遇到了同样的问题,正确的 ServerName 是:(localdb)\MSSQLLocalDB
数据库 是:CodeFirstNewDatabaseSample.Program+BloggingContext
在 Visual Studio 中查找 SQL 服务器对象资源管理器 window 中的数据库。如果您在那里找不到它,请执行以下操作:
- 打开 SQL Server Management Studio。
- 找到你的数据库
- 右键单击数据库并选择属性
- 找出数据库属于哪个服务器(例如your-name\SQLEXPRESS)
- 返回 Visual Studio:连接到 SQL 服务器对象资源管理器中的服务器
- 数据库在数据库下。
- 选择数据库。在属性 window 中查看数据文件 属性。这是数据库文件的路径。
步骤01:
正确显示 SQL 服务器选项卡下的数据库(在服务器对象资源管理器中)
然后 select 断开连接。之后你可以重新连接它。然后你会看到你的数据库。
如果不是。转到 windows 徽标旁边的搜索(开始)搜索服务。找到 mssqlserver 然后检查那些已经启动。如果不是,那么您可以启动它们。然后重复步骤 01。
所以我按照 Entity Framework Code First 的介绍来创建一个新数据库 ( https://msdn.microsoft.com/en-us/data/jj193542 ),并且我完全按照示例进行操作。现在我想在 Visual Studio 2013 年将它添加到我的服务器资源管理器中。
尝试了 LocalDb ((localdb)\v11.0) 或 SQL Express (.\SQLEXPRESS) 但数据库没有显示,我知道它在工作,因为我已经现在对其进行了多次测试,它一直在从数据库中附加和获取数据,那么它会驻留在何处?
除了默认的 Visual Studio 2013,我还有一个 SQL 服务器设置。谢谢
配置
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit go.microsoft.com/fwlink/… -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
查看您的配置(在聊天期间提供)我可以看到您的 EF 正在使用 localdb 和 MSSQLLocalDB
实例。
尝试:
(localdb)\MSSQLLocalDB
我通过执行以下操作找出了我的数据库的位置:
- 在我调用
context
或dbcontext
或任何你想调用它的地方放置一个断点 - 当您位于该断点时,向下钻取
Database
->Connection
,您会在其中的某处找到您的连接字符串。
按照 VS2015 中的 Microsoft 示例,我遇到了同样的问题,正确的 ServerName 是:(localdb)\MSSQLLocalDB
数据库 是:CodeFirstNewDatabaseSample.Program+BloggingContext
在 Visual Studio 中查找 SQL 服务器对象资源管理器 window 中的数据库。如果您在那里找不到它,请执行以下操作:
- 打开 SQL Server Management Studio。
- 找到你的数据库
- 右键单击数据库并选择属性
- 找出数据库属于哪个服务器(例如your-name\SQLEXPRESS)
- 返回 Visual Studio:连接到 SQL 服务器对象资源管理器中的服务器
- 数据库在数据库下。
- 选择数据库。在属性 window 中查看数据文件 属性。这是数据库文件的路径。
步骤01: 正确显示 SQL 服务器选项卡下的数据库(在服务器对象资源管理器中) 然后 select 断开连接。之后你可以重新连接它。然后你会看到你的数据库。
如果不是。转到 windows 徽标旁边的搜索(开始)搜索服务。找到 mssqlserver 然后检查那些已经启动。如果不是,那么您可以启动它们。然后重复步骤 01。