База данных Linq 2 Sybase ASE? Какие есть варианты?

Мне нужно запросить существующую базу данных Sybase ASE, и я хотел бы использовать синтаксис Linq для извлечения данных.

Мне не нужен ни доступ для записи, ни полный набор операторов Linq, только Select(), SelectMany(), Where() и GroupJoin()

Какие варианты доступны?

В частности, меня интересует nHibernate и создание нового провайдера Linq2Sybase на основе инструментария IQ.


person Scott Weinstein    schedule 03.03.2010    source источник


Ответы (4)


Вы всегда можете использовать ADO.NET для загрузки данных в различные коллекции IEnumerable<T>, а затем использовать LINQ to Objects для запроса к ним.

person John Saunders    schedule 04.03.2010
comment
Да, но у меня больше данных, чем оперативной памяти - person Scott Weinstein; 04.03.2010

Это может помочь. Есть бесплатная пробная версия.

person Craig Stuntz    schedule 04.03.2010
comment
Да, а сколько стоит товар? DataDirect дорогие. - person John Saunders; 04.03.2010
comment
Без понятия. Sybase также говорит, что у них есть драйвер для SQL Anywhere, но я не знаю, работает ли он с ASE. - person Craig Stuntz; 04.03.2010
comment
Датадирект стоит дорого. Прейскурантная цена составляет 600 долларов США за рабочую станцию ​​и 3 тысячи долларов за ядро ​​сервера. - person Scott Weinstein; 08.03.2010

Я потратил много времени на изучение решений ORM и Sybase ASE на .NET. Я не нашел ничего бесплатного/с открытым исходным кодом, поддерживающего Sybase ASE.

Вам удалось заставить работать NHibernate? Не похоже, что NHibernate официально поддерживает Sybase ASE.

Вот варианты, которые я рассматривал до сих пор:

  1. Linq2Sql — поддерживает только SQL Server.
  2. Microsoft Entity Framework - поддержка только Sybase для SQL Anywhere, а не ASE по какой-то причине.
  3. LLBLGen Pro 3 — стоит £££, хотя выглядит очень мощно.
  4. Драйвер Data Direct — похоже, он поддерживает Entity Framework, но я думаю, что он стоит даже больше, чем LLBLGen Pro.
  5. NHibernate — не похоже, что NHibernate поддерживает Sybase ASE (http://community.jboss.org/wiki/DatabasessupportedbyNHibernate).

Если кто-нибудь может предложить какое-либо решение ORM на .NET для Sybase ASE, я был бы признателен!

person Simon    schedule 07.06.2010
comment
Чтобы ваш проект работал с NHibernate, либо используйте драйвер Sybase и диалект, либо создайте подкласс существующего драйвера/диалекта и реализуйте его самостоятельно. На самом деле это не слишком сложно. - person Jeffrey Cameron; 12.03.2011

Я провел обширное исследование совпадений между .NET и Sybase ASE. Sybase выпустила свои драйверы ADO.NET 2.0 для ASE через 3 года после Oracle. Не ожидайте появления поставщика Entity Framework в ближайшее время.

Вы могли бы использовать Data Direct, но если ваши заинтересованные стороны похожи на нас, они все еще недовольны тем, сколько они потратили на последний раунд увеличения лицензий от Sybase. Они не будут в восторге от того, что вложат еще больше денег в такой устаревший продукт.

В настоящее время доступны два решения ORM: LLBLGen Pro и NHibernate. Наш проект успешно использовал NHibernate против Sybase 12.5 и 15. У нас это работает очень хорошо. Текущий набор драйверов Sybase ASE немного анемичен, но они прекрасно работают. Мы немного дополняли эти драйверы, когда это было необходимо. Возиться с драйверами звучит сложно, но это не так уж и плохо.

Обновление: для наших целей BLToolkit оказался лучшим решением, чем NHibernate. Ваш пробег может отличаться.

person gonzobent    schedule 27.07.2010