gpt4 book ai didi

c# - 无法找到自动创建的数据库

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:34 25 4
gpt4 key购买 nike

我使用 EntityFramework 代码优先方法创建了简单的 ASP.NET MVC4 应用程序。实体类如下:

public class Album
{
[Key]
public int AblumId { get; set; }
public decimal Price { get; set; }
public string Title { get; set; }

}

public class MusicContext : DbContext
{
public DbSet<Album> Albums { get; set; }
}

web.config 连接细节如下

 <connectionStrings> 
<add name="MusicContext" connectionString="Data Source=localhost;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

应用程序运行良好,我可以添加、删除、编辑相册记录,但找不到数据库。当我使用 SSMS 检查 SQL Server 实例时,没有创建数据库。我没有在 web.config 中指定“初始目录”值 (DBName),也没有在代码中创建上下文期间给出 DBname。我什至在运行时检查了数据库名称,但它返回空字符串,如下面的屏幕截图所示。我什至检查了 SQL Express,那里没有创建任何数据库,甚至在我的其他实例上也没有。那么我在哪里可以找到自动创建的数据库。我确信数据库存储在某个地方,因为记录的存储和检索没有任何错误。

enter image description here

最佳答案

如果您不指定数据库名称,则连接将使用用户的默认数据库,在这种情况下它是集成安全性,因此它是您的 Windows 登录名。由于您可能在服务器上拥有完整的系统管理员,因此默认数据库将为 master,因此您会在其中找到所有表。

为了进一步说明,master 是一个系统数据库,因此,要在 SSMS 中查看它,您需要导航到 Server -> Databases -> 系统数据库

要解决此问题,您可以:

  1. 在连接字符串中指定数据库名称。
  2. 为您的用户更改默认数据库。

不过,我建议指定数据库名称,除非您需要为登录动态更改数据库,否则最好明确说明此类事情。

关于c# - 无法找到自动创建的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30980437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com