如何为Asp.net Core Web Api编写用于DB的connectionString

时间:2018-04-20 02:43:57

标签: asp.net-core-2.0 asp.net-core-webapi

我在WebApi下面使用了下面的连接字符串格式,它没有用。

"ConnectionStrings": {
    "DefaultConnection": "Data Source = William\SQL2017Express; Initial Catalog=ContactMgmtDB;Integrated Security=SSPI;"
  },

这里的信息,如何为数据库编写连接字符串,其中包含" \"对于这种格式   Servername \ Instanced Name

1)身份验证方法:Windows身份验证
2)服务器名称:William \ SQL2017EXPRESS
3)实例名称:SQL2017EXPRESS

更新:此字符串包含转义字符的"\\"。这可以吗  " DefaultConnection":"数据源= William "\\" SQL2017Express;初始目录= ContactMgmtDB;集成安全性= SSPI;"

由于

2 个答案:

答案 0 :(得分:0)

威廉 - 这是你的本地主机?如果不是,请确保在服务器上启用了命名管道和tcp / ip。 Look here for more info

您的Windows用户也必须能够访问数据库。可以从SQL Server Management Studio连接到db吗?如果没有,您应该使用sa用户登录服务器并添加您的Windows用户。 More info

另请查看此topic

答案 1 :(得分:0)

您还可以使用此格式,它将在ASP.NET CORE MVC中正常工作。 首先,将这些软件包安装在项目中:-

  1. 安装软件包Microsoft.EntityFrameworkCore-版本3.1.0
  2. 安装软件包Microsoft.EntityFrameworkCore.SqlServer-版本3.1.0
  3. 安装软件包Microsoft.EntityFrameworkCore.Tools-版本3.1.0
  4. 安装软件包Microsoft.EntityFrameworkCore.Design-版本3.1.0
  5. 安装软件包Microsoft.EntityFrameworkCore.Proxies-版本3.1.0

然后,在您自己的ContextDb类上覆盖此方法:-

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        string connectionString = @"Data Source = William\SQL2017Express; 
                                    Initial Catalog = ContactMgmtDB; 
                                    Integrated Security = SSPI;";
        optionsBuilder.UseSqlServer(connectionString);
        optionsBuilder.UseLazyLoadingProxies();
    }