【问题标题】:ASP.NET Web API database not created in localdbASP.NET Web API 数据库未在 localdb 中创建
【发布时间】:2016-09-06 13:24:26
【问题描述】:

我创建了一个 asp.net web api 4.5.2 项目,但我找不到它用于添加用户的数据库。连接字符串中的信息:

Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplicationTest2-20160906022916.mdf;Initial Catalog=aspnet-WebApplicationTest2-20160906022916;Integrated Security=True. 

但是当我检查 app_data 目录时,它是空的。我在哪里可以找到这个数据库?

【问题讨论】:

    标签: sql asp.net asp.net-web-api2


    【解决方案1】:

    模板的数据库创建延迟到发送请求为止。

    运行您的服务器并POST跟随带有Content-Type: application/json标头的JSON到http://localhost:xxx/api/Account/Register

    {
      "Email": "test@test.com",
      "Password": "TestTest1!",
      "ConfirmPassword": "TestTest1!"
    }
    

    你应该得到200: OK

    我正在使用Advanced REST client

    之后,数据库将在App_Data 文件夹中创建。 如果服务器返回200: OK,而App_Data为空,请执行以下步骤:

    在 Visual Studio 中,转到 View 菜单。选择SQL Server Object Explorer(或按Ctrl+\Ctrl+S)。

    您的 SQL 服务器应该在那里。您可以在Databases 文件夹中找到您的数据库。

    如果您特别需要数据文件,然后展开Databases 文件夹,右键单击您需要的文件夹并单击Properties。向下滚动查看Current Connection Parameters

    【讨论】:

    • 您好 Orkhan,谢谢您的回答。我按照您的建议检查了数据库。问题是我在那里看不到数据库?看起来它不存在。当我尝试连接到它时,数据库服务器告诉我它无法附加该文件。有没有办法通过脚本生成这个数据库?
    • (localdb)\MSSQLLocalDb...开头的数据库服务器上右键,选择New Query,写入create database MyDatabase,然后执行。您需要刷新服务器对象资源管理器才能看到创建的数据库。要获取到新创建的数据库的连接字符串,请右键单击它并打开属性窗口,在那里您将看到该数据库的连接字符串
    • 或者右击Databases 点击Add New Database
    • 我知道如何创建数据库。我ment api中使用的数据库的数据库模型是什么?如何生成可供 API 使用的数据库。
    • 您创建的是空项目还是模板?对于一个空项目,在需要之前,您无需创建任何内容。
    【解决方案2】:

    当您没有安装本地数据库时,有时会发生此错误。要知道您是否安装了本地数据库,请打开命令提示符(管理员)并键入“SqlLocalDb 信息”。然后它会显示本地数据库名称。将该名称添加到连接字符串。如果命令提示符未显示,请参考以下链接将 localdb 添加到 SQL Express 服务器。 链接:-https://www.mssqltips.com/sqlservertip/5612/getting-started-with-sql-server-2017-express-localdb/

    【讨论】:

      猜你喜欢
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多