Linq 2 SQL или объекты Linq

У меня нет Knime, но я смог применить следующие шаги, чтобы LibreOffice Base открыл файл Access .mdb, который был защищен с помощью защиты на уровне пользователя (ULS).

Сначала я использовал инструкции здесь , чтобы выполнить обычную настройку UCanAccess и LibreOffice Base. Я подтвердил, что могу открыть файл базы данных Access, который не был не защищен ULS.

Затем я добавил следующие три (3) JAR-файла в папку UCanAccess lib\:

  1. jackcess-encrypt-2.1.4.jar (доступно здесь )
  2. bcprov-jdk15on-1.52.jar (доступно здесь )
  3. CryptCodecOpener.jar (доступно здесь )

, поэтому в нем содержится

gord@gord-dv7-xubuntu0:~$ ll Downloads/JDBC/UCanAccess/lib
total 5580
drwxrwxr-x 2 gord gord    4096 Jan 17 05:54 ./
drwxrwxr-x 5 gord gord    4096 Jan 17 05:38 ../
-rw-rw---- 1 gord gord 2902942 Dec  1  2017 bcprov-jdk15on-1.52.jar
-rw-rw---- 1 gord gord  284220 Nov 16  2013 commons-lang-2.6.jar
-rw-rw---- 1 gord gord   62050 Sep 22  2015 commons-logging-1.1.3.jar
-rw-rw---- 1 gord gord    1146 Jan 16 17:40 CryptCodecOpener.jar
-rw-rw---- 1 gord gord 1467326 Oct  8  2013 hsqldb.jar
-rw-rw---- 1 gord gord  882908 Mar 10  2018 jackcess-2.1.11.jar
-rw-rw---- 1 gord gord   86730 Dec  1  2017 jackcess-encrypt-2.1.4.jar

Затем я добавил ;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener к своему URL-адресу соединения, чтобы он стал

jdbc:ucanaccess:///home/gord/Documents/protected.mdb;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener

, и я мог открыть файл .mdb, защищенный ULS.

5
задан bleevo 13 December 2008 в 03:10
поделиться

11 ответов

Я - большой поклонник LINQ к SQL, если Вы встречаете следующие конструктивные требования:

  • SQL Server MS как механизм DB
  • Разработка RAD
  • 1 - 1 отображение класса - все, что это требуется

Я не сделал большой работы с Платформой Объекта, но от того, что я знаю и что я сделал, то, что это не имеет как - хорошая производительность при генерации от той же базы данных как LINQ к использованию SQL.

Более низкая производительность происходит из-за природы Платформы Объекта, она использует ADO, а не определенных поставщиков для сервера базы данных, который Вы используете.

8
ответ дан 18 December 2019 в 05:50
поделиться

Я думаю, что Linq 2 Sql является отличным выбором. Несколько точек:

  • Это действительно быстро, я не забываю перечитывать сообщение в блоге в Лакомых кусочках Производительности Rico Mariani во время беты L2S, где он измерил его, чтобы быть почти с такой скоростью, как простой ADO.NET, и это было во время его беты.
  • Можно сделать и запросы linq, а также работу с хранимыми процедурами и старый добрый sql, если Вы любите этот и все еще заставляете данные возражать отображению, сделанному для Вас.
  • То, что Stackoverflow использует L2S, доказывает, что он может работать в крупном масштабе веб-сайт.
  • Это намного более легко, чем Платформа Объекта, которая хороша и плоха в зависимости от того, в чем Вы нуждаетесь. В целом, если Ваши потребности супер не совершенствуются, можно обычно работать вокруг любой довольно быстрой проблемы.
2
ответ дан 18 December 2019 в 05:50
поделиться

Да, согласованный с Slace.

Просто будьте осторожны на платформе, которую Вы действительно выбираете, чтобы гарантировать, что она удовлетворяет все Ваши потребности.

Например, я недавно разрушил Платформу Объекта из проекта работы после работы с ним довольно единогласно за последние несколько недель, поскольку это не упрощало мои потребности, главным образом из-за:-

  1. Вещи, которые Вы не можете сделать в Linq к Объектам (таким как отображение на типы перечисления .NET (grr) и ухудшение получить 'NotSupportedException' почти в каждом повороте, при попытке стать необычными в своем операторе запроса linq путем обращения к вызовам функции или вызовам метода (см. ссылку)).
  2. Отсутствие собственной Ленивой Загрузки (я понимаю, существует инструменты, такие как EF Ленивый LoadGen для упрощения этого, но это не было что-то, что я хотел включить).

Кроме этого, команды и платформа казались прямыми и аккуратными, и причина, я пошел с EF, был:

  1. Я полагал, что EF был предназначен больше для развития предпринимательства и думал, что L2S был больше для людей, увлеченных своим хобби, и был ограниченной платформой. Однако с дальнейшим пониманием и лично, ни в чем не нуждаясь в EF я не мог сделать с L2S, я доволен L2S. Особенно, если это удовлетворяет stackoverflow, масштабируемость и эффективность покрыты для меня.
  2. Опция для нескольких DBMS (я должен все же видеть это в действии однако),
  3. Это было известно по слухам, Microsoft отбрасывала поддержку и инвестиции на Linq к SQL.
  4. Я люблю факт, можно обновить таблицы и изменения DB в EF .edmx, не имея необходимость удалять существующую модель схемы (который Вы вынуждены сделать в Linq к SQL). Хотя, не супер раздражающий, если Вы не настроили свойств в своей схеме L2S (.dbml).

Дополнительные материалы для чтения (другой ТАК отправляет):
LINQ к SQL, мертвому или живому?

Я хотел бы выбрать EF, я действительно не знаю, что сделать из L2S по сравнению с EF debarcle, и если L2S действительно является дохлым номером, пожатием плеч. моим основным схватыванием по общему признанию с EF является NotSupportedException - я мог обойти ленивую загрузку, если я мог бы выполнить вызовы метода в linq, не получая это...

13
ответ дан 18 December 2019 в 05:50
поделиться

Я сказал бы, что для простого для модерирования схемы базы данных работы Linq2SQL очень хорошо и легче настроить и использовать. Это - то, что я использую для своего ORM с некоторыми маленькими корректировками через частичные классы для поддержки проверки и авторизации/аудита. Я использую разработчика DBML и добавляю мои таблицы/отношения. Я изменяю DataContext, чтобы сделать это кратким обзором и создать конкретную реализацию, которая позволяет мне обеспечивать реализации своих табличных функций/хранимых процедур (которые отображаются в контекст данных как методы), которые обеспечивают рычаги для аудита и авторизации. Я реализую частичные методы на классах объекта для OnValidate и OnLoad, чтобы сделать и проверку и авторизацию на уровне таблицы. Я нахожу, что это - в значительной степени все, в чем я нуждаюсь. В последнее время я определял интерфейс и обертку для конкретного контекста данных также, чтобы позволить мне дразнить его в моих модульных тестах.

3
ответ дан 18 December 2019 в 05:50
поделиться

Мой голос переходит к Linq-SQL. Это соответствует Вашему сценарию быстрой разработки; легкий начать в, простой в использовании. Кроме того, это генерирует хорошие/эффективные SQL-запросы от выражений Linq.

Linq к объектам является неуклюжим, при попытке использовать какую-либо из 'усовершенствованных' функций, которая, как предполагается, устанавливает его кроме L2S затем, необходимо будет начать редактировать файл модели EDMX с помощью XML-редактора (Вы скоро столкнетесь с 'ограничениями' в разработчике, где единственное обходное решение/решение, рекомендуемое Microsoft, должно использовать XML-редактор для ручной заводной рукоятки EDMX). К тому же это имеет тенденцию генерировать действительно плохие/неэффективные SQL-запросы.

Microsoft заявляет, что следующая версия Платформы Объекта будет намного лучше и будет поддерживать всех положительных героев L2S. Однако следующая версия не будет выпущена в ближайшее время поэтому до тех пор, L2S является Вашим лучшим выбором.

1
ответ дан 18 December 2019 в 05:50
поделиться

Для использования с Услугами передачи данных ADO.NET (который Вы упоминаете), Платформа Объекта является той, которая работает из поля. Если Вы хотите обновить данные с LINQ-SQL (через Услуги передачи данных ADO.NET), необходимо сделать некоторую работу для реализации IUpdatable. К счастью я вел блог об этом на этой неделе.

Мои полные мысли между этими двумя покрыты здесь, но я смягчился немного с тех пор, посмотрите здесь.

В основном в данный момент я предпочитаю LINQ-SQL, но я ожидаю, что EF будет более применимым в следующей версии. Следовательно, почему я работаю для получения LINQ-SQL, работающего с Услугами передачи данных ADO.NET.

3
ответ дан 18 December 2019 в 05:50
поделиться

Я рекомендовал бы смотреть на нерешения Microsoft для ORM. nHibernate, отличное решение, которое имеет всех положительных героев обеих из тех платформ плюс больше. Да это - более крутая кривая изучения, но быстрый nHibernate помогает с этим. Определенно стоящий усилия.

0
ответ дан 18 December 2019 в 05:50
поделиться

Никто не может сказать Вас defenitly, что лучше.

Оба techs имеют проблемы (NHibernate имеют проблемы также).

Я использую Linq-SQL и preatty довольный им. Поскольку моими проблемами мнения в Linq-SQL являются меньше, чем в EF ^_^.

0
ответ дан 18 December 2019 в 05:50
поделиться

Мы думали, что L2S был большим, пока мы не пытались сделать обновления. Затем это вызывало жалость. Мой коллега делал большую часть этой работы, в то время как я сделал другие вещи. Он говорил о EF и путях, которыми чрезмерная конфигурируемость сделала его грязным для использования.

Я предположил, что, так как мы нацелены на MSSQL и это не собирается изменяться, он мог вырубить весь материал абстракции поставщика БД. Некоторое время спустя он сказал мне, что это было хорошее предложение, и его код был намного более простым и менее трудным для поддержания.


Мне любопытно относительно основания, на котором был провален этот ответ. Это описывает фактический опыт, и это обсуждает альтернативную стратегию и относительный успех того подхода. Вниз голосующий для ответов, которые вводят в заблуждение, фактически неправильный или просто посылают сообщение-розыгрыш.

Как это происходит, я сменил свое положение на целом EF по сравнению с вещью L2S, но это не изменяет то, что вниз голосующий что-то просто, потому что это выражает мнение, отличающееся от Вашего собственного, инфантильно и полностью в противоречии с духом StackOverflow.

0
ответ дан 18 December 2019 в 05:50
поделиться

Linq к SQL является тупиком в эти дни, потому что Microsoft не собирается обновлять его больше. Я использовал его на некоторое время для моих собственных проектов, но я нашел это недостаточно мощным по сравнению с реальным SQL. Конечно, могло бы казаться легче работать вскоре, но в течение цикла разработки Вашего приложения Вы найдете наслаждение питанием SQL больше.

Я думаю, что LINQ К SQL должен только быть принят теми, кто severly зависящий от уровней абстракции платформы и не имеет времени/энергии/требования для преследования SQL.

Еще одна вещь, которую необходимо помнить, состоит в том, что дополнительный слой между SQL и приложением имеет свою собственную стоимость. Различие в скорости не что-то, что Вы легко заметите, но это там.

Лично я рекомендую, чтобы кто-то, кто начинает, получил высшее образование прямо к SQL и дать LINQ SQL мисс.

-1
ответ дан 18 December 2019 в 05:50
поделиться

Это довольно старый вопрос, но поддержка LinqToSql среди наиболее популярных ответов касается меня. У LinqToSql есть существенные недостатки.

Не используйте Visual Studio 2008 LinqToSql O / R Designer

Недостатки принятия Linq To Sql

Тем не менее, есть существенные недостатки и у EntityFramework.

Доступны гораздо, намного лучшие варианты ( NHibernate сейчас самый лучший вариант).

0
ответ дан 18 December 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: