Проблема с первым методом migrateasync кода EF
Я только что начал работать над новым проектом, где база данных сначала строится с использованием кода.
Я попытался запустить проект в первый раз и получил приведенное ниже исключение. Я это проверил
using (var serviceScope = serviceProvider.CreateScope()) { var db = serviceScope.ServiceProvider.GetService<ILoggingDbContext>(); await db.Database.MigrateAsync(); }
1. Никаких изменений в базе данных были внесены в базу данных разработчиков.
2. Убедитесь, что у других разработчиков в команде нет такой же проблемы.
Я попытался погуглить сообщение об исключении, но каждый результат говорит об изменениях в базе данных, которые я пытаюсь сделать.
Может ли кто-нибудь подсказать мне, что делать дальше?
System.Data.SqlClient.SqlException HResult=0x80131904 Message=Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong. Source=Core .Net SqlClient Data Provider StackTrace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult) at System.Data.SqlClient.SqlCommand.EndExecuteNonQuery(IAsyncResult asyncResult) at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.<ExecuteAsync>d__17.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.<ExecuteNonQueryAsync>d__8.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.<ExecuteNonQueryAsync>d__1.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.<MigrateAsync>d__12.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at FFO.Data.Helpers.Startup.LoggingEfStartup.<InitializeDatabaseAsync>d__0.MoveNext() in C:\Users\simon_whale\Source\Repos\fleet fine online\FleetFineOnline\FFO-Data\Helpers\Startup\LoggingEFStartup.cs:line 17
Что я уже пробовал:
Много Google Fo на следующем исключении
SqlException: Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong.
Проверка с другими разработчиками
Переустановка ветки для проекта.
Richard Deeming
Вы можете попробовать использовать Сценарий-Миграция[^] чтобы сгенерировать сценарий миграции SQL, на случай, если с ним что-то явно не так.
Simon_Whale
спасибо Ричард,
Мне придется забрать это в понедельник, так как, похоже, у меня еще нет доступа к SQL Server, а Босс ушел домой. после траления через исключение он терпит неудачу при попытке запустить sp_rename.
Затем, когда я пытаюсь выполнить команды, предложенные в вашей ссылке, чтобы также упасть для меня, что, как я полагаю, сводится к отсутствию доступа к базе данных.