Я создал .NET бэкенд для приложения Xamarin IOS с помощью Azure портала после этого урока от Microsoft: tutorialAzure услуг мобильной связи с .NET backend- Там уже есть объект с именем в базе данных
Затем я использовал существующей базы данных, с этим новым бэкэнд. Когда я пытаюсь войти в мое мобильное приложение, однако, журнал в терпит неудачу с вышеуказанной ошибкой:
There is already an object named in the database
Существующая база данных была под другой подписки, которая будет деактивирована. Я импортировал его в новую подписку и настроил ее.
Я видел множество подобных вопросов здесь и попробовал некоторые решения. У меня все еще есть ошибка.
Поскольку я изменил пространство имен в новом интерфейсе, я прочитал это от ответа здесь на StackOverflow:
There is a table in your data base called dbo.__MigrationHistory. The table has a column called ContextKey. The value of this column is based on your namespace. for example is "DataAccess.Migrations.Configuration". When you change the namespace, it causes duplicate table names with different namespaces. So, after you change namespace in code side, change the namespace in this table in database, too, (for all rows).
Я подозреваю, что это может быть проблемой в моем случае, но я в настоящее время не в состоянии доступ к моей базе данных.
Я также попытался это решение, которое не работало:
Database.SetInitializer<YourContext>(null);
И, наконец, я пытался использовать команду update-database
в Extension в пакете консоли я Xamarin студии, но я получаю ошибку :
command update-databse not found
Я сейчас не уверен, как решить эту проблему. Может ли кто-нибудь указать мне в правильном направлении?
Спасибо.
EDIT
Основываясь на объяснении выше относительно изменения контекста, я уже обновил это в Configuration.cs
классе, как показано ниже:
internal sealed class Configuration : DbMigrationsConfiguration<testService.Models.testserviceContext> // new namespace changed here
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
SetSqlGenerator("System.Data.SqlClient", new EntityTableSqlGenerator());
}
}
Так делает это обновляют dbo.__MigrationHistory
стол или я до сих пор нужно запустить команду обновления?