У меня есть приложение, которое использует MySQL в качестве базы данных.и работает правильно.
Но сейчас.Мне нужно создать версию этого.Внутри дома и для дома.
Моя проблема в том, что когда я обновляю функцию или добавляю функцию в собственную программу, мне также необходимо обновить домашнюю версию, домашняя база данных использует базу данных sqlite.
Хранимая процедура не 'т работают в sqlite.Поэтому я решил использовать структуру сущностей.Так что я могу легко изменить базу данных.Я уже создаю модель для одной из моих таблиц
. Здесь указаны имена для автоматического предложения моего приложения.
А вот мой класс
class Given
{
public int id { get; set; }
public string name { get; set; }
public string @operator { get; set; }
public DateTime data_time { get; set; }
}
И яиспользовал это так
class MyDb : DbContext
{
public MyDb() : base("name=sample")
{
}
public DbSet<Given> tble_given { get; set; }
}
я назвал его tble_given , потому что это имя моей таблицы в базе данных
И это мое соединениестрока в файле App.config
<connectionStrings>
<add name="sample" providerName="MySql.Data.MySqlClient" connectionString="server=127.0.0.1; uid=root; pwd=; database=db_sample;default command timeout=20;" />
</connectionStrings>
А это мой код для доступа к данным в базе данных
using (var db = new MyDb())
{
db.Database.Connection.Open();
Debug.WriteLine(db.Database.Connection.State);
foreach (var item in db.tble_given.ToList())
{
}
}
Я добавил открытое соединение и состояние соединения, чтобы проверитьесли соединение действительно.
но когда я запрашиваю его.
добавлен код db.tble_given.ToList()
Исключение: «System.Data.Entity.Core.ProviderIncompatibleException» в Гватемале Coding.exe Исключение типа «System.Data.Entity.Core.ProviderIncompatibleException 'произошла в Гватемале Coding.exe, но не была обработана в коде пользователя. Произошла ошибка при доступе к базе данных.Обычно это означает, что соединение с базой данных не удалось.Убедитесь, что строка подключения верна и что соответствующий конструктор DbContext используется для ее указания или поиска в файле конфигурации приложения.См. http://go.microsoft.com/fwlink/?LinkId=386386 для получения информации о DbContext и соединениях.Подробности о сбое см. Во внутреннем исключении.
Я пытался решить его самостоятельно, но не могу заставить этот код работать.
Почему у меня возникает эта ошибка, если состояние соединения открыто?
Спасибо