Исключение из строки подключения ASPD Core Web API локальная база данных - PullRequest
0 голосов
/ 31 мая 2018

У меня немного неприятная проблема, когда я запускаю решение asp.net с localdb.Я всегда получаю это исключение.

Мой вопрос, как я могу это исправить?Я просто хочу, чтобы он генерировал небольшую локальную базу данных, в которой я мог бы выполнять операции CRUD с помощью REST API

System.Data.SqlClient.SqlException: «При установлении ошибки произошла ошибка сети или конкретного экземпляра.подключение к SQL Server.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 50 - Произошла ошибка локальной базы данных во время выполнения. Не удалось создать автоматический экземпляр. Подробные сведения об ошибке см. в журнале событий приложений Windows.

DbInitiliazer.cs

 using NMBSAPICore.Models;
 using System;
 using System.Linq;
 namespace NMBSAPICore.Data
 {
    public class DbInitializer
    {
        public static void Initialize(NMBSAPICoreContext context)
        {
            if (context.Station.Any())
            {
                return;   // DB has been seeded
            }
            var stations = new Station[] {
                    new Station { Naam = "Olen", Sporen = 2 }
            };
            foreach (Station s in stations)
            {
                context.Station.Add(s);
            }
            context.SaveChanges();
         }
    }
}

Startup.cs configure

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<NMBSAPICoreContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("NMBSAPICoreContext")));

        services.AddMvc();

        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new Info { Title = " NMBS API", Version = "v1" });
        });


    }public void Configure(IApplicationBuilder app, IHostingEnvironment env , NMBSAPICoreContext NMBSAPIContext)
    {
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
        });
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseAuthentication();
        app.UseMvc();
        DbInitializer.Initialize(NMBSAPIContext);
    }
}

Файл контекста

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.IdentityModel.Protocols;

namespace NMBSAPICore.Models
{
public class NMBSAPICoreContext : DbContext
{
public NMBSAPICoreContext(DbContextOptions<NMBSAPICoreContext>options):
base(options)
    {
    }

    public DbSet<Station> Station { get; set; }


    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Station>().ToTable("Stations");
    }
  }
}

Строка соединения:

"ConnectionStrings": {
"NMBSAPICoreContext": "Server=(localdb)\\mssqllocaldb;Database=NMBSDb;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

sqllocaldb info

.\IIS_DB
aspnetIceOnWheels
aspnet-IceOnWheels-1
localdb
mssqllocald
MSSQLLocalDB
NMBSAPICore
ProjectsV13
v11.0

Я не хотел публиковать слишком много кода, потому что он не имеет отношения к моей проблеме, потому что это также происходит со свежим новым проектом, а также с make и попыткой запустить с localDb.

Как видите, я используюSwagger API, поэтому я не могу легко протестировать свои вызовы API. У меня есть несколько компьютеров, и ни на одном из них не была создана локальная база данных. Значит ли это, что я установил SQL Server Express на всех устройствах неправильно? Microsoft заявляет, что я должен генерировать по умолчаниюфайл mdf в /users/name/, мой ничего не делает.

Я установил SMSS и SQL Server Express 2017.

1 Ответ

0 голосов
/ 31 мая 2018

Я отвечу на это сам, оказалось, что я использовал неверную строку подключения, тогда было больше ошибок при разрешении моей личной папки.

После этого я получил ошибку об обновлении валюты БД => Документация Microsoft очень хорошо помогла мне с этой проблемой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...