Есть ли способ использовать Linq для Oracle

StackOverflow https://stackoverflow.com/questions/30790

  •  09-06-2019
  •  | 
  •  

Вопрос

Я могу подключиться с помощью DataContext к базе данных Oracle, однако я получаю ошибки при выполнении запроса к базе данных Oracle.Я просмотрел сгенерированный SQL, и он предназначен для MSSQL, а не для Oracle PSQL.

Кто-нибудь знает о приличной простой в использовании оболочке для использования LINQ с базой данных Oracle?

Это было полезно?

Решение

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

Корпорация Майкрософт помогает Oracle и DataDirect разрабатывать провайдеров для Oracle и других серверов баз данных, отличных от MS.

Другие советы

Мы используем драйвер OraDirect от Devart.Он включает в себя ADO.NET Поддержку Entity Framework.Вы можете скачать пробную версию здесь.Затем вы можете использовать LINQ to entities или entity SQL поверх этого.

Цены на это приложение вполне приемлемы для разработчиков, вы платите за место разработчика и можете использовать его так, как вам нравится.

Еще одним большим преимуществом этого драйвера является то, что вы можете использовать его без установки клиента Oracle, это большой плюс и стоит одной только цены.

@Грег:Мы также оценили драйверы datadirect, но производительность была низкой, а стоимость астрономической.

Редактировать:Похоже, DevArt анонсировала бета-версию с Поддержка LINQ недавно

Одна вещь, на которую вы могли бы обратить внимание, это то, что теперь существует LINQ to Entities, который использует MS Entity Framework, который, я считаю, не зависит от базы данных.Я все еще изучаю, как это работает, но если бы вы могли создать объект данных ADO.NET, который взаимодействует с Oracle, вы могли бы затем использовать LINQ для этого объекта.

Есть также Скорость Света который имеет схему лицензирования для каждой организации (не для каждого разработчика) и, похоже, имеет довольно солидную библиотеку документации и бесплатную пробную версию (до 8 объектов).Сейчас я это проверяю.

После долгих поисков я нашел DbLinq и это должно сработать.Я собираюсь попробовать это сам.Я наткнулся на ваш вопрос, потому что искал то же самое решение.Надеюсь, это поможет.

Однако посмотрите на Linq to entities.У меня есть datareader, заполняющий коллекцию объектов, которые сопоставлены с таблицей oracle.Я могу использовать linq для запроса этой коллекции очень мощными, простыми и понятными способами.Мне это нравится.Очень рекомендую.

Попробуй Деварт LinqConnect - соединение.Этот продукт позволяет вам работать с Oracle и т.д.

Почему бы не попробовать ALinq ? http://www.alinq.org

Посмотрите в codeplex:Linq Для проекта Oracle

Нелегкий способ, по крайней мере, до тех пор, пока не будет создан хороший поставщик.

Действительно, MS должна предоставить, по крайней мере, поставщика OLEDB Linq.В конце концов, Linq to Sql - это, по сути, реализация IQueryable с поддержкой дизайнера.

Другим решением для работы с несколькими базами данных, которое довольно хорошо работает в Oracle, SQLite, MySQL и SQL Server, является Выражать Постоянные Объекты

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top