LINQToEntities с Sybase ASE 15.5 - PullRequest
       19

LINQToEntities с Sybase ASE 15.5

0 голосов
/ 06 октября 2011

В последние дни я пытался использовать Entity Framework и LINQ 2 Entities, которые прекрасно работают с SQL Server (как и следовало ожидать), но проблема в том, что мне нужно использовать Sybase ASE 15.5.

Я говорю «проблема» из-за следующего:

  1. Генерация / обновление модели обычно занимает слишком много времени
  2. Иногда выдается ошибка, в которой говорится, что поле уже находится в коллекции метаданных (я думаю, что оно связано с именованными ограничениями или именами полей, которые одинаковы в таблицах с отношением (наиболее распространенными являются FK). )
  3. Я сделал простую модель, в которой не было бы проблем с генерацией / обновлением, но проблема в том, что иногда (в зависимости от запроса) T-SQL, генерируемый LINQ To Entities, выдает некоторую ошибку в ASE

Я использую Sybase SDK версии 15.5.0.1000, хорошо ли работает поставщик ADO.NET из этого SDK (например, я делаю что-то не так)? Если нет, есть ли более новый? Есть ли какие-либо другие вещи, которые я должен установить, чтобы решить эти проблемы (например, более новый SDK, какой-то dll или какой-то диалект для перевода)? (Я знаю, что есть новый Sybase ASE -15.7-, но поставляется ли он с новым SDK? И, вероятно, не имеет большого значения, так как я не уверен, что ИТ-директор и ИТ-директор одобрили бы изменение прямо сейчас)

Я также попробовал провайдера Data Direct, но он застревает при попытке создать модель, BLToolkit тоже, как я читал на их сайте, зависит от провайдера данных поставщика (по крайней мере, для баз данных сторонних разработчиков) , Мне бы очень хотелось что-то, что работает с Entity Framework, но только то, что работает с ASE и ASE CE, подойдет на этом этапе (пока еще не пробовал NHibernate, в основном потому, что на первый взгляд кажется, что оно требует слишком много ручной работы, и прочитайте где-то были проблемы с ASE)

Заранее благодарим за любую помощь, которую вы можете оказать.

1 Ответ

1 голос
/ 13 октября 2011

Так как прошла целая неделя и даже не было сделано никаких комментариев, я сам отвечу на это.

Похоже, что в SDK действительно есть проблемы, по-видимому, генерация модели создает монстра T-SQL, который запускается, что приводит к большой задержке. У него действительно есть некоторые проблемы с ограничениями, которые названы аналогично, но только в ASE, в ASE CE, похоже, их нет. Я не смог найти какой-либо ресурс, подобный диалекту, специфичному для ASE, поэтому я предполагаю, что их драйвер не готов к использованию с Entity Framework, потому что сгенерированный T-SQL предназначен для SQL Server, который в некоторых запросах вызывает исключение с ASE.

Я, вероятно, собираюсь пойти с NHibernate, так как это, кажется, единственный путь, который будет самым выгодным (поскольку он действительно работает), и он бесплатный. Кроме того, похоже, что люди Progress (DataDirect) действительно предлагают поддержку в течение пробного периода для своего провайдера ADO.NET, я позвоню им и посмотрю, могут ли проблемы быть легко решены, в таком случае, я, вероятно, в конечном итоге воспользуюсь ею. .

ОБНОВЛЕНИЕ: По-видимому, это было исправлено, так как теперь я могу создать модель с драйвером Sybase.

...