Я использовал Entity Framework, чтобы запустить довольно простой пример проекта. В проекте я создал новую модель данных сущности из базы данных SQL Server 2000. Я могу запрашивать данные с помощью LINQ to Entities и отображать значения на экране.
У меня есть база данных Oracle с очень похожей схемой (я пытаюсь быть точным, но не знаю всех деталей Oracle). Я хотел бы, чтобы мой проект можно было запускать как в хранилищах данных SQL Server, так и в Oracle с минимальными усилиями. Я надеялся, что смогу просто изменить строку конфигурации моей модели данных Entity, а Entity Framework позаботится обо всем остальном. Однако, похоже, это не сработает так, как я думал.
Кто-нибудь сделал то, что я пытаюсь сделать? Опять же, я пытаюсь написать приложение, которое может запрашивать (и обновлять) данные из базы данных SQL Server или Oracle с минимальными усилиями, используя Entity Framework. Вторая цель - избежать повторной компиляции приложения при переключении между хранилищами данных. Если мне нужно «Обновить модель из базы данных», это может быть нормально, потому что мне не придется перекомпилировать, но я бы предпочел не идти по этому пути. Кто-нибудь знает какие-либо шаги, которые могут потребоваться?
@YeahStu .. У меня такое же требование, поскольку я видел, что сообщение довольно старое ... Entity Framework до сих пор модифицировалась ... удалось ли вам добиться независимости базы данных с помощью EF ... пожалуйста, помогите мне с этим и поделитесь своим обходным путем. .. Спасибо заранее.





Основная проблема заключается в том, что структура сущности была разработана не с учетом упорства. Я бы честно посмотрел на использование чего-то другого, кроме структуры сущностей.
Под термином «постоянное игнорирование» обычно понимается то, что ваши классы сущностей не переполняются зависимостями фреймворка (что важно для N-уровневых сценариев). Сейчас это не так, поскольку классы сущностей должны реализовывать определенные интерфейсы EF («IPOCO»), в отличие от простых старых объектов CLR. Как упоминал другой плакат, для этого есть решение под названием Адаптер Persistence Ignorance (POCO) для Entity Framework V1, а EF V2 будет поддерживать POCO из коробки.
Но я думаю, что вы действительно имели в виду независимость базы данных. Имея один большой XML-файл конфигурации, который включает модель хранения, концептуальную модель и сопоставление между этими двумя, из которых во время разработки будет сгенерирован типизированный ObjectContext, мне также трудно представить, как прозрачно поддерживать две базы данных.
Что, вероятно, выглядит более многообещающим, так это применение независимого от базы данных поставщика ADO.NET, такого как DataDirect. DataDirect также объявила о поддержке EF в третьем квартале 2008 года.
LOL, если он не обеспечивает незнание базы данных, для чего нужна структура entity? Боже!