EF迁移数据库连接字符串错误

时间:2019-02-13 15:43:35

标签: c# entity-framework ef-migrations

当我使用update-database -verbose并检查连接字符串是否错误时,难怪该命令会返回错误列表。在app.config中,我的conn字符串是:

dd name="TESTDBConnString" connectionString="data source= .; initial catalog=TESTDB; 
      integrated security=True" providerName="System.Data.SqlClient"

在我的上下文类中,我的构造函数是:

public class MyContext : DbContext, IContext
{

    public MyContext() : base("TESTDBConnString")
    {

    }

    public DbSet<TestModel> TestModel { get; set; }
}

但是,当我运行详细命令时,我看到。\ SQLEXPRESS被用作数据库源,我什至不能在SSMS中使用它,因此有人可以向我展示如何将其简单地带为'。'。谢谢!

2 个答案:

答案 0 :(得分:1)

您的连接字符串格式似乎无效。

来自MSDN

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <connectionStrings>
    <add name="BloggingDatabase"
         connectionString="Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" />
  </connectionStrings>
</configuration>

似乎您需要为连接到SQL SERVER的当前Entity Framework应用程序指定服务器和数据库

答案 1 :(得分:1)

我不能发表评论,这就是为什么我会提出建议的原因。在.Net core应用中,您需要在appsettings.json中具有特定的结构 像

{
"ConnectionStrings": {
  "TESTDBConnString": "server=localhost\\SQLEXPRESS;Initial Catalog=my-DB;Integrated Security=true;Trusted_Connection=True;connect timeout=100;"
  }
}

对于登录密码连接字符串,有些不同。

在这种情况下,对于空构造函数,您可以使用like。调用Update-Database时,一切都应该正常工作。