我正在使用ASP.NET Core 2构建应用程序,而DB部分是EF核心2。
我有这样的模特
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
这是上下文文件
public class EFCoreDbContext:DbContext
{
public EFCoreDbContext(DbContextOptions<EFCoreDbContext> options)
: base(options)
{
}
public DbSet<ChatMessage> ChatMessages { get; set; }
}
最后是startup.cs
services.AddDbContext<EFCoreDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MooltiRoomDatabase")));
appsettings.json中的连接字符串
"ConnectionStrings": {
"MooltiRoomDatabase": "Server=DESKTOP-BCQ6IAU\\CHATDB,Database=MultiRoomChat;Trusted_Connection=True;"
}
通过包管理器控制台我运行Add-Migration
命令已成功完成,尽管在DB中它没有创建相应的表,之后我已经读过我需要运行Update-Database
用于创建表的命令,当我运行此命令时,我收到类似这样的错误
发生与网络相关或特定于实例的错误 建立与SQL Server的连接。找不到服务器或 无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (提供者:SQL 网络接口,错误:25 - 连接字符串无效)
答案 0 :(得分:3)
正如您在错误消息中看到的,“连接字符串无效”。你使用“,”而不是“;”在数据库之前。
所以现在你有:
1 Childish Gambino This Is America 1 1 2
2 Drake Nice For What 2 1 6
3 Drake God's Plan 3 1 17
4 Post Malone Featuring Ty Dolla $ign Psycho 4 2 12
5 BlocBoy JB Featuring Drake Look Alive 5 3 14
6 Ella Mai Boo'd Up 10 6 8
但是,你应该使用它:
"Server=DESKTOP-BCQ6IAU\\CHATDB,Database=MultiRoomChat;Trusted_Connection=True;"
答案 1 :(得分:0)
在ASP Net Core中,还有一个使用的开发配置。您应该会在应用设置旁边看到一个图标 - “下拉”图标。查看是否将连接字符串添加到开发配置帮助。
此外,应用settings get accessed已更改的方式,因此请确保您正在编写正确的代码以接收该值。