我正在尝试使用ASP.NET Core制作一个小型示例应用程序,并创建一个用于日历的数据库。 我添加了Microsoft.EntityFrameworkCore.Tools包,并为用户和自定义数据库上下文添加了一些模型,如下所示(粘贴在1个地方):
public class ReservationModel
{
[Column("Id")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Required]
public int Id { get; set; }
[Column("Date")]
[Required]
public DateTime Date { get; set; }
[Required]
public int ReserverId { get; set; }
}
public class UserModel
{
[Column("Id")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Required]
public int Id { get; set; }
[Column("IsAdmin")]
[Required]
public bool IsAdmin { get; set; }
}
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
public DbSet<UserModel> Users { get; set; }
public DbSet<ReservationModel> Reservations { get; set; }
}
我正在这样配置它:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/build";
});
services.AddDbContext<AppDbContext>
(o => o.UseSqlServer(Configuration.
GetConnectionString("MyNewDatabase")));
}
这是我的连接字符串:
"ConnectionStrings": {
"MyNewDatabase": "Server=(localdb)\\mssqllocaldb;Database=MyNewDatabase;Trusted_Connection=True;",
"initial": "catalog=MyNewDb;",
"integrated": "security=true"
}
我在控制台中运行以下命令:
Add-Migration InitialMigration
Update-Database
两者均成功完成,没有错误。
问题是,在服务器浏览器的任何地方都看不到新创建的数据库。我也尝试使用Microsoft SQL Management Studio,但我只能看到4个系统数据库。我没有看到我的新作品。
我尝试打开与。\ SQLEXPRESS的新连接,但我仍然只获得4个系统数据库。
我一直在查看文档并观看在线教程,我按照上面的确切步骤进行操作,以为该应用程序创建一个简单的数据库,但是它对我不起作用。 我还应该提到项目中没有任何Database.EnsureCreated(),所以也不是。 我还尝试过运行该网站,并且该网站在初始化时没有错误,因此现在只是一堆简单的文本。 我似乎丢失了一些东西。在教程中,在执行初始迁移和刷新后,它总是出现在服务器资源管理器中。