当我使用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中使用它,所以有人可以告诉我如何让它简单地使用'。'。谢谢!
看起来您的连接字符串格式无效。
来自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应用程序指定服务器和数据库
我无法评论这就是为什么我会提出建议。在.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时,所有这些都应该有用。