• 50622
  • 29
  • 13
Нравится блог?
Подписывайтесь!

ADO.NET Entity Framework и System.Data.SQLite - попытка глубокого погружения.

Да, это была попытка, без особых успехов.

Радужные перспективы малых веб-приложений, с собственным SQL-движком, мощными запросами на LINQ to Entities и "рисованием" красивых моделей баз данных, пропали по одной простой причине.

По порядку: Есть база SQLite (которая представляет из себя файл с расширением *.db), сборка System.Data.SQLite (собственно сам движок базы данных) и Visual Studio (2008).

Поскольку сборка движка реализует DbProviderFactory, то я без труда создал провайдер базы, соединение и набросал несколько стандартных запросов чтения, вставки, обновления и удаления (CRUD). Работает!

Но это вчерашний день, поскольку писать SQL-запросы "ручками", как-то неинтересно.

Поэтому добавил в проект модель ADO.NET EDM. Мастер создания модели запросил подключение к базе, я создал ему SQLite поставщика. Мастер сказал "ОК, давай файл с базой данных". Указал путь. И мастер без проблем накидал мне красивые таблицы и связи в визуальном редакторе. Красота.

Теперь, у меня все таблицы в базе, представлены классами. Всё компилируется. Накидал наши стандартные запросы, используя технологию LINQ to Entities. Теперь, всю "черную" работу (создание подключения, транзакции, длинные SQL-запросы, запихивание результатов в классы) сделает за меня эта самая технология.

Но мне пришлось идти в сад, по воле разработчиков из Майкрософт, поскольку всё, чего я мог добиться, это только читать базу. Остальное ну никак не хотело работать.

Причина кроется в весьма сомнительном классе ObjectStateManager. На все попытки вставить/обновить/удалить он отвечает, что мол, ок, успешно! Но в базе ничего не меняет, мерзавец, негодяй...

Короче, возвращаясь во вчерашний день, пишу соединения, связывания и SQL-запросы вручную (под ржанье PHP-скрипачей).

Найдется время, скачаю .NET Reflector для "раскопок" сборки System.Data, чтобы понять, какого хрена, класс ObjectStateManager, не желает работать с движком SQLite.

m-r Tarakanoff tarakanoffth
The best C# and .NET days are ahead of us. (25 Mar 2010 by Miguel de Icaza)
23 августа 2010, 10:01
2412

Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Многие клиенты, вздыхая о харамном ссудном проценте местных банков, сокрушались по поводу отсутствия у нас халяльного кредитования. Поддержка исламского банкинга на уровне МФЦА есть...
DanaJarlygapova
24 марта 2017 / 18:28
  • 21069
  • 59
Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Концерт Рианны всё-таки состоится летом в рамках культурно-зрелищных и спортивных мероприятий ЭКСПО-2017. Рианна крута, с этим никто не спорит. Но соберёт ли «Астана Арена» 30 тысяч зрителей при...
openqazaqstan
сегодня / 14:29
  • 10261
  • 13
Компания LG Electronics открыла предзаказ на новый флагман LG G6

Компания LG Electronics открыла предзаказ на новый флагман LG G6

LG Electronics объявляет о начале предварительного заказа онлайн на новый смартфон LG G6. Оформить предзаказ можно на сайтах магазинов электроники до 16 апреля 2017 года.
LG Electronics
24 марта 2017 / 14:20
  • 5199
  • 0
Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Мои волшебные 9 месяцев протекали в новой среде и далеко от всех родственников и подружек. Никто из моих знакомых в США на тот момент не успел обзавестись малышом, поэтому мне не с кем было...
Zarema_
23 марта 2017 / 9:25
  • 5249
  • 20
Страну, где так строят дороги, победить невозможно!

Страну, где так строят дороги, победить невозможно!

Шестиминутный ролик про строительство автомобильной дороги в США - это как острый нож в пузо нашим чиновникам. Они же подавятся бешбармаком, увидев его! Похлеще любого пропагандистского фильма...
Timur_Tregulov
24 марта 2017 / 11:26
  • 4711
  • 39
Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Многие уверенны на 100%, что сказка «Красавица и Чудовище» - это интересная выдумка ее создателей. Однако, действия, происходящие в мультфильме и фильме, имели место в истории, и у главных героев...
Naomi_K
24 марта 2017 / 18:42
  • 4907
  • 34
Семь причин почему вам надо перестать откладывать переезд за границу

Семь причин почему вам надо перестать откладывать переезд за границу

Вы думаете о переезде за границу, но постоянно откладываете дату, потому что вас беспокоит тысяча мелочей, которые могут пойти не так? У меня есть семь причин, почему пора перестать мотать нервы...
Lesch
24 марта 2017 / 17:50
  • 3849
  • 14
Гонения на «Свидетелей Иеговы». Кому это выгодно?

Гонения на «Свидетелей Иеговы». Кому это выгодно?

Я не "Свидетель Иеговы". Мне приходилось защищать в судах и кришнаитов и коммунистов, хотя я и не разделяю их убеждений. Я защищаю свободу совести. Сегодня "Свидетели Иеговы", завтра,- каждый из вас.
nasreddin
25 марта 2017 / 17:18
  • 4015
  • 49
Страна обыденной роскоши: Ташкент-Самарканд-Бухара

Страна обыденной роскоши: Ташкент-Самарканд-Бухара

Узбекистан - это страна, где роскошь стала обыденностью. Это и повсеместный зелёный крупнолистовой чай. И вкусная натуральная еда с минимумом специй. И то, что дети играют среди исторических памятников.
MadinaR
25 марта 2017 / 10:37
  • 3252
  • 59