#c# #sql-server #visual-studio #entity-framework-core #asp.net-core-mvc
#c# #sql-сервер #visual-studio #entity-framework-core #asp.net-core-mvc
Вопрос:
Я пытаюсь создать небольшой образец приложения с ASP.NET Создайте ядро и создайте базу данных для использования в календаре. Я добавил Microsoft.EntityFrameworkCore.Пакет инструментов и добавлены некоторые модели для пользователей и пользовательский контекст базы данных, например (вставлено в 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 системные базы данных.
Я просматривал документацию и просматривал онлайн-руководства, и я делаю точные шаги, как указано выше, чтобы создать простую базу данных для приложения, однако у меня это не работает. Я должен также упомянуть, что у меня нет никакой базы данных.EnsureCreated() остался в проекте, так что это тоже не так. Я также попытался запустить веб-сайт, и он запускается без ошибок при инициализации, хотя сейчас это просто набор простых текстов. Кажется, я что-то упускаю. В руководствах она всегда появляется в проводнике сервера после выполнения начальных миграций и обновления.
Комментарии:
1. Когда вы открываете SSMS в окне входа в систему, это имя_сервера / экземпляр. В c # замените строку подключения (localdb) \ mssqllocaldb на имя_сервера / экземпляра из SSMS. Также попробуйте закрыть SSMS и открыть SSMS после запуска c #.
2. База данных создается, вам просто нужно посмотреть, где, строка подключения является ключевой
3. Из любопытства я просто скопировал ваш код здесь. Здесь все выглядит хорошо, создана база данных и таблицы. Я установил Microsoft. EntityFrameworkCore, Microsoft. EntityFrameworkCore.SQLServer, Microsoft. EntityFrameworkCore. Инструменты
4. Попробуйте вставить некоторые данные, и вы будете знать наверняка.
5. В Visual Studio используйте «Обозреватель объектов SQL Server» (не следует смешивать с «Обозревателем серверов») и просмотрите узлы «SQL Server (localdb) MSSQLLocalDB»