Я пытался понять это целую вечность, и я пробовал разные методы, но, похоже, ничего не работает. Я успешно выполнил миграцию, и теперь у меня есть файл миграции для моего проекта. Я пытаюсь обновить свою базу данных, но она терпит неудачу каждый раз, когда я пытаюсь.
Для записи я использую Macbook и использую визуальный код для проекта. Я набрал это в командной строке
dotnet ef database update InitialCreate
Я также попробовал это:
dotnet ef database update -c LoanContext Development
Это то, что показывает в моей командной строке, когда я ввожу выше
Build started...
Build succeeded.
info: Microsoft.EntityFrameworkCore.Infrastructure[10403]
Entity Framework Core 2.2.6-servicing-10079 initialized 'LoanContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer' with options: None
System.Data.SqlClient.SqlException (0x80131904): при установлении соединения с SQL сервером произошла ошибка, связанная с сетью или указанная для экземпляра c. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Сервер настроен для разрешения удаленных подключений. (поставщик: поставщик TCP, ошибка: 25 - строка подключения недопустима)
System. Net .Sockets.SocketException (0x80004005): неопределенная ошибка: 0
в System.Data. SqlClient.SNI.SSRP. ..ctor (идентичность DbConnectionPoolIdentity, SqlConnectionString connectionOptions, SqlCredential учетных данных, объект providerInfo, String новый_пароль, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String маркер доступа) в System.Data.SqlClient.SqlConnectionFactory.CreateConnection (варианты DbConnectionOptions , DbConnectionPoolKey poolKey, Объект poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnec Тион, DbConnectionOptions userOptions) в System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnectionPool бассейн, DbConnection owningObject, варианты DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) в System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection ) при System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) в System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, булевой allowCreate, булевой onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal & связи) в System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 повтор, DbConnectionOptions userOptions, DbConnectionInternal oldConnecti on, DbConnectionInternal & connection) в System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection externalConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 повтор, DbConnectionOptions userOptions 2.Oction_Lone_Player_SignSignSq.Sec.dll) .Sec. (DbContext c, TState s) в Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute [TState, TResult] (состояние TState, Fun c3 operation, Func
3 verifySucceeded) в Microsoft.EntityExteE [TState, TResult] (стратегия IExecutionStrategy, Fun c2 operation, Func
2 verifySucceeded, состояние TState) в Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute [TState, TResult] (стратегия IExecutionStrategy, состояние TState, операция Func`2) в корпорации Майкрософт. EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerDatabaseCreator.Exists (Boolean retryOnNotExists) в Microsoft.EntityFrameworkCore.SqlServer.Storage.Intern al.SqlServerDatabaseCreator.Exists () в Microsoft. EntityFrameworkCore. .OperationExecutor.UpdateDatabase. <> C__DisplayClass0_1. <. Ctor> b__0 () в Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (действие действия)
ClientConnectionId: 00000000-0000-0000-000000000000000000 1025 *
При установлении соединения с SQL Сервером произошла ошибка, связанная с сетью или экземпляром c. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Сервер настроен для разрешения удаленных подключений. (поставщик: поставщик TCP, ошибка: 25 - строка подключения недопустима)
Это мой appsettings.json
файл
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"connectionStrings": {
"DevConnection": "server=(local)\\sqlexpress;Database=LoanDB;Trusted_Connection=True;MultipleActiveResultSets=True"
}
Код в моем файле startup.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using WebAPI.Models;
namespace WebAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddDbContext<LoanContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DevConnection")));
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
}
}
}
Я также пытался изменить строку подключения через этот сайт https://www.connectionstrings.com/sql-server-2012/. Ничего не работает, любая помощь по этому вопросу будет оценена.