Ошибка инициализации контекста данных EntityFramework. C#
у меня есть база данных mysql в ubuntu, также есть проект wpf. я точно уверена, что строка подключения к базе данных верная, соединение есть:
<connectionStrings>
<add name="smartduckEntities" connectionString="server=xxx;port=3306;database=smartduck;user=root;password=xxx" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.EntityFramework.MySQLProviderServices, MySql.Data.EntityFramework" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.3.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</providers>
</entityFramework>
скачаны пакеты: EntityFramework 6.0.0.0 EntityFramework.SqlServer 6.0.0.0 MySql.Data 8.3.0.0 MySql.Data.EntityFramework 8.3.0.0
версия проекта: .NET Framework 4.7.2. также есть контекст данных:
public partial class smartduckEntities : DbContext
{
public smartduckEntities()
: base("name=smartduckEntities")
{
}
public DbSet<Admin> Admin { get; set; }
public DbSet<Appel> Appel { get; set; }
public DbSet<BlackList> BlackList { get; set; }
}
public class Admin
{
public int id { get; set; }
public string name { get; set; }
public Nullable<int> person_id { get; set; }
}
public class Appel
{
public int Id { get; set; }
public string name { get; set; }
}
приложение не может обратиться к базе данных через контекст, то есть вот так:
smartduckEntities db = new smartduckEntities(); // Инициализация DbContext
Teacher teacher = db.Teacher.Find(3); // Простой запрос
Console.WriteLine(teacher.last_name);
может только через запрос select(выводит необходимый объект) с чем это может быть связано и как это исправить? мне очень нужно обращаться к бд именно через контекст. так же я пробовала искать в чем причина ошибки таким образом:
try
{
smartduckEntities db = new smartduckEntities(); // Инициализация DbContext
Teacher teacher = db.Teacher.Find(3); // Простой запрос
Console.WriteLine(teacher.last_name);
}
catch (ConfigurationErrorsException configEx) // Ошибки конфигурации
{
Console.WriteLine("Ошибка конфигурации: " + configEx.Message);
}
catch (TypeInitializationException typeEx) // Ошибки инициализации
{
Console.WriteLine("Ошибка инициализации: " + typeEx.Message);
}
catch (Exception ex) // Общие ошибки
{
Console.WriteLine("Ошибка подключения или выполнения запроса: " + ex.Message);
}
try
{
var providerType = Type.GetType("MySql.Data.EntityFramework.MySQLProviderServices, MySql.Data.EntityFramework");
if (providerType == null)
{
Console.WriteLine("Поставщик MySQL не может быть загружен.");
}
else
{
Console.WriteLine("Поставщик MySQL загружен успешно.");
}
}
catch (Exception ex)
{
Console.WriteLine("Ошибка при загрузке поставщика MySQL: " + ex.Message);
}
был такой результат:
Ошибка инициализации: Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение.
"test.exe" (CLR v4.0.30319: test.exe). Загружено "C:\Users\lada4\OneDrive\Desktop\test\test\bin\Debug\MySql.Data.EntityFramework.dll".
Поставщик MySQL не может быть загружен.
если без обработчиков:
Вызвано исключение: "System.InvalidOperationException" в EntityFramework.dll
"test.exe" (CLR v4.0.30319: test.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration.resources\v4.0_4.0.0.0_ru_b03f5f7f11d50a3a\System.Configuration.resources.dll". Сборка модуля выполнена без символов.
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.Configuration.ConfigurationErrorsException" в System.Configuration.dll
Вызвано исключение: "System.TypeInitializationException" в EntityFramework.dll
Вызвано исключение: "System.Reflection.TargetInvocationException" в mscorlib.dll
Вызвано исключение: "System.Reflection.TargetInvocationException" в mscorlib.dll
"test.exe" (CLR v4.0.30319: test.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xaml.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Xaml.resources.dll". Сборка модуля выполнена без символов.
Вызвано исключение: "System.Xaml.XamlObjectWriterException" в System.Xaml.dll
Вызвано исключение: "System.Windows.Markup.XamlParseException" в PresentationFramework.dll
"Вызов конструктора для типа "test.MainWindow", удовлетворяющего указанным ограничениям привязки, привел к выдаче исключения.": номер строки "6" и позиция в строке "9".
Извлеченный внедренный документ "System.Windows.Markup\WpfXamlLoader.cs" в "C:\Users\lada4\AppData\Local\Temp\.vsdbgsrc\c6a5a7f5f1f891b96e7ce20decdfb3b83d9ea38a008c3e03a9a2dc211cf459f6\WpfXamlLoader.cs"
Программа "[29588] test.exe" завершилась с кодом 4294967295 (0xffffffff).