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

问题描述 投票:0回答:2

当我使用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; }
}

然而,当我运行verbose命令时,我看到。\ SQLEXPRESS被用作数据库源,我甚至无法在SSMS中使用它,所以有人可以告诉我如何让它简单地使用'。'。谢谢!

c# entity-framework ef-migrations
2个回答
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
投票

我无法评论这就是为什么我会提出建议。在.Net核心应用程序中,您需要在appsettings.json中拥有特定的结构

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

对于login-password连接字符串有点不同。

在这种情况下,在空构造函数的上下文中,您可以使用like。当你调用Update-Database时,所有这些都应该有用。

© www.soinside.com 2019 - 2024. All rights reserved.