VS 2019 и MySQL Entity Framework повторяют имя базы данных

Я добавил Entity Framework в свой проект, но вызываю метод toList() и получаю сообщение об ошибке:

okuldbEntities ent = new okuldbEntities();

private void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.DataSource = ent.ogrenciler.ToList();
}

и это ошибка:

Это исключение изначально было вызвано в этом стеке вызовов: [Внешний код]

Внутреннее исключение 1: MySqlException: таблица «okuldb.okuldb.ogrenciler» не существует

okuldb - это имя моей базы данных, и я не нашел, почему он добавил его дважды.

Я много смотрел. Я установил VMWare, сделал все это снова, но получил тот же результат.

мои шаги:

  1. я загружаю сообщество Visual Studio 2019 и устанавливаю его
  2. установщик mysql, и я устанавливаю сервер mysql 8.0.22, коннектор Visual Studio 1.2.9 и коннектор .net 8.0.22
  3. Я создаю проект C# netframework 4.8
  4. после этого я перехожу к пакету nuget и устанавливаю инфраструктуру сущностей 6.4.4 и данные mysql entityframework 8.0.22 и данные mysql 8.0.22
  5. после всего этого я могу добавить объект в свой проект.

я добавляю datagridview1 и пишу этот код:

 eokulEntities ent = new eokulEntities();
        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.DataSource = ent.ogrencinot.ToList();
        }

и я бегу и вижу это сообщение:

Это исключение изначально было вызвано в этом стеке вызовов: [Внешний код]

Внутреннее исключение 1: MySqlException: таблица 'eokul.eokul.ogrencinot' не существует

Я стараюсь слишком много. Я нашел другой ноутбук, я отформатировал его и снова установил все это.

и снова та же ошибка.

действительно, что я могу сделать?


person imsiyat    schedule 25.11.2020    source источник
comment
как выглядит ваш код контекста БД?   -  person timur    schedule 25.11.2020
comment
в app.config моя строка: ‹добавить name=okuldbEntities connectionString=metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=MySql. Data.MySqlClient;строка подключения провайдера=сервер=localhost;идентификатор пользователя=root;пароль=****;база данных=okuldb providerName=System.Data.EntityClient /› ‹/connectionStrings›   -  person imsiyat    schedule 26.11.2020
comment
привет @timur я обновил.   -  person imsiyat    schedule 28.11.2020
comment
Прошу прощения за задержку. Я надеялся увидеть исходник класса eokulEntities — это DbContext, не так ли?   -  person timur    schedule 28.11.2020
comment
общедоступный частичный класс eokulEntities2: DbContext { public eokulEntities2() : base(name=eokulEntities2) {} защищенное переопределение void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } общедоступный виртуальный DbSet‹dersler› dersler { get; установлен; } общедоступный виртуальный DbSet‹ogrencibilgi› ogrencibilgi { get; установлен; } общедоступный виртуальный DbSet‹ogrencinot› ogrencinot { get; установлен; } }   -  person imsiyat    schedule 28.11.2020
comment
проверьте, написана ли ваша таблица ogrenciler в MySQL в том же регистре, что и в вашей модели?   -  person timur    schedule 28.11.2020
comment
нет такого же имени таблицы, потому что я пробую другую таблицу и базу данных. такие же результаты.   -  person imsiyat    schedule 28.11.2020
comment
Время от времени используйте кнопку Shift. Это касается вашего вопроса, а также имен ваших таблиц. MySQL в Linux чувствителен к регистру в именах схем, таблиц и столбцов.   -  person CodeCaster    schedule 31.12.2020


Ответы (2)


1. Закройте проект визуальной студии.

2. Отредактируйте файл Model1.edmx с помощью блокнота /или как называется ваш проект/

3. Замените совпадения в файле со Schema=okuldb на Schema=

4. Сохраните файл Model1.edmx.

5. Открытый проект визуальной студии

6.Скомпилируйте проект

7. Запустите приложение

person Martin Georgiev    schedule 16.01.2021
comment
работает, спасибо, но это нормально? правда зачем это делать я не понимаю :/ - person imsiyat; 08.02.2021
comment
Отличный ответ, мне просто интересно, почему я решил использовать mysql в .net - person Francesco; 16.02.2021
comment
гуатаафффффф. Эта работа. Спасибо! - person Lrodriguez84; 25.02.2021

У меня такая же проблема.

я нашел этот пост

https://bugs.mysql.com/bug.php?id=88507

где рекомендуется работающая установка.

Смотрите раздел: [30 Авг 2019 2:26] Джерард Анг

Пост о проблеме с дизайнером, но он решил и нашу.

пока Клаудио

person Claudio    schedule 28.12.2020