Ошибка инфраструктуры Azure MySQL Entity Framework - PullRequest
0 голосов
/ 03 октября 2018

Я только что создал приложение, используя Entity Framework и MySQL.В localhost все работает нормально, но когда я публикую приложение и запускаю на сервере, я получаю сообщение об ошибке:

    System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.InvalidCastException: [A]MySql.Data.MySqlClient.MySqlTransaction cannot be cast to [B]MySql.Data.MySqlClient.MySqlTransaction. Type A originates from 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll'. Type B originates from 'MySql.Data, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\local\Temporary ASP.NET Files\root\491e3a19\118d844c\assembly\dl3\ce9fb3e1\00af7a53_1f2ed401\MySql.Data.dll'.
   at MySql.Data.Entity.EFMySqlCommand.set_DbTransaction(DbTransaction value)
   at System.Data.Common.DbCommand.set_Transaction(DbTransaction value)
   at System.Data.Entity.Internal.InterceptableDbCommand.set_DbTransaction(DbTransaction value)
   at System.Data.Common.DbCommand.set_Transaction(DbTransaction value)
   at System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues)
   at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
   --- End of inner exception stack trace ---
   at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
   at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<Update>b__2(UpdateTranslator ut)
   at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](T noChangesResult, Func`2 updateFunction)
   at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update()
   at System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStore>b__35()
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction)
   at System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass2a.<SaveChangesInternal>b__27()
   at System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction)
   at System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions options)
   at System.Data.Entity.Internal.InternalContext.SaveChanges()
   --- End of inner exception stack trace ---
   at System.Data.Entity.Internal.InternalContext.SaveChanges()
   at System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
   at System.Data.Entity.DbContext.SaveChanges()
   at TazWorksAPI.Views.ViewModel.CreateRequest.createPackageByName(RequestModel model)

Это говорит о том, что у меня 2 версии MySQL?Как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 03 октября 2018

Пожалуйста, ознакомьтесь со следующей документацией: Удостоверение ASP.NET: Использование хранилища MySQL с провайдером MySQL EntityFramework (C #)

Есть раздел: Создание проектаизменения конфигурации в файле Web.config для вашего приложения

Убедитесь, что с этого момента были выполнены все шаги.И, как WueF упомянул ранее: «Главное - НЕ использовать MySQL.Data v.6.10.4. Простое понижение до 6.9.10 решило мне недели на то, что я не смог найти».

...