Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
options => options.UseSqlServer(connectionString, sqlOptions => sqlOptions.EnableRetryOnFailure()));services.AddScoped<ICarRepo, CarRepo>();services.AddScoped<ICreditRiskRepo, CreditRiskRepo>();services.AddScoped<ICustomerRepo, CustomerRepo>();services.AddScoped<IMakeRepo, MakeRepo>();services.AddScoped<IOrderRepo, OrderRepo>();На заметку! Веб-приложение MVC будет работать как с уровнем доступа к данным, так и с API-интерфейсом для взаимодействия с данными, чтобы продемонстрировать оба механизма.
Добавление строки подключения к настройкам приложения
Модифицируйте файл
appsettings.development.json{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "ConnectionStrings": { "AutoLot": "Server=.,5433;Database=AutoLotFinal; User ID=sa;Password=P@ssw0rd;" }}Метод Configure()
Метод
Configure()ConfigureServices()Configure()AutoLot.Api
Внутри стандартного шаблона выполняется проверка среды, и если она установлена в
DevelopmentUseDeveloperExceptionPage()UseHttpsRedirection()арр.UseRouting()арр.UseAuthorization()арр.UseEndpoints()public void Configure(IApplicationBuilder app, IWebHostEnvironment env){ if (env.IsDevelopment()) { // Если среда разработки, тогда отображать отладочную информацию. app.UseDeveloperExceptionPage(); // Первоначальный код. app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "AutoLot.Api v1")); } // Перенаправить трафик HTTP на HTTPS. app.UseHttpsRedirection(); // Включить маршрутизацию. app.UseRouting(); // Включить проверки авторизации. app.UseAuthorization(); // Включить маршрутизацию с использованием конечных точек. // Использовать для контроллеров маршрутизацию с помощью атрибутов. app.UseEndpoints(endpoints => { endpoints.MapControllers(); });}Кроме того, когда приложение запускается в среде разработки, необходимо инициализировать базу данных. Добавьте в метод
Configure()ApplicationDbContextInitializeData()AutoLot.DalНиже показан модифицированный код:
public void Configure( IApplicationBuilder app, IWebHostEnvironment env,<b> ApplicationDbContext context)</b>{ if (env.IsDevelopment()) { // Если среда разработки, тогда отображать отладочную информацию. app.UseDeveloperExceptionPage();<b> // Инициализировать базу данных.</b><b> if (Configuration.GetValue<bool>("RebuildDataBase"))</b><b> {</b><b> SampleDataInitializer.InitializeData(context);</b><b> }</b> } ...}Обновите файл
appsettings.development.jsonRebuildDataBasefalse{ "Logging": { "LogLevel": {