Запрашивать как Linq, когда у вас нет Linq

У меня есть проект, над которым я сейчас работаю, но в настоящее время он поддерживает только .net framework 2.0. Я люблю linq, но из-за фреймворковой версии я не могу его использовать. То, что я хочу, это не столько сторона ORM, сколько «возможность запроса» (это даже слово?) Из Linq.

До сих пор самый близкий - llblgen, но если бы был какой- то еще более легкий вес, который мог бы просто сделать запрос для меня, это было бы еще лучше.

Я также посмотрел на NHibernate, который выглядит так, как будто он может приблизиться к тому, что я хочу, но у него довольно крутая кривая обучения, и файлы картирования не вызывают у меня особого восторга.

Если кто-нибудь знает о чем-то, что даст мне аналогичный интерфейс запросов к Linq (или даже лучше, как заставить Linq работать на платформе .net 2.0), я бы очень хотел услышать об этом.

11.08.2008 10:04:50
7 ОТВЕТОВ
РЕШЕНИЕ

Посмотри на это:

http://www.albahari.com/nutshell/linqbridge.html

Linq - это несколько разные вещи, и я не уверен на 100%, какие биты вы хотите, но вышеописанное может быть в некотором роде полезным. Если у вас еще нет книги по Linq (я думаю, что у вас ее нет), то я считаю, что «Linq In Action» - это хорошо.

5
11.08.2008 12:20:36

В .NET 2.0 Framework есть способ ссылаться на LINQ, но я должен предупредить вас, что это может противоречить условиям использования / EULA платформы:

LINQ в среде выполнения .NET 2.0

0
23.05.2017 11:54:01

Прежде всего. Заставить linq работать на 2.0 не может быть и речи. Это возможно, но на самом деле не то, что нужно делать вне среды тестирования.

Наиболее близким к части ORM / Dynamic Querying, которую вы можете получить, является imho SubSonic, который я рекомендую всем, кто застрял в C # 2.0.

0
11.08.2008 10:15:49

LinqBridge выглядит довольно неплохо для начала, так как у меня VS2008, мне просто нужно скомпилировать и развернуть на сервере .net 2.0.

Я посмотрел на SubSonic, и это также интересная альтернатива, но linqbridge, кажется, обеспечивает гораздо более точное соответствие, поэтому мне не придется идти изучать новый синтаксис ORM / запроса.

0
11.08.2008 14:21:19
LinqBridge предоставляет нам только синтаксис Linq для .NET 2.0. Нам все еще нужно ОРМ.
Thomas Eyde 8.03.2009 23:38:14

Вы можете проверить Subsonic . Это ORM, который использует шаблон ActiveRecord. Я уверен, что большинство его функций работают с .NET Framework 2.0.

3
11.08.2008 18:12:28

Чтобы повторить сказанное Лансом - язык запросов SubSonic имеет свободный интерфейс, который не так хорош, как LINQ, но дает вам некоторые преимущества (проверка времени компиляции, intellisense и т. Д.).

1
11.08.2008 18:48:02

LinqBridge отлично работает под .NET 2.0, и вы получаете все расширения Linq и язык запросов. Вам нужен VS 2008, чтобы использовать его, но вы уже знали это.

Тем не менее, Linq это не ORM. Это синтаксис запроса. Если вы хотите использовать Linq для запроса базы данных, вам понадобится .NET 3.5. Это потому, что 2.0 не предоставляет механизм, необходимый для преобразования кода Linq в ваш любимый язык запросов к базе данных.

Другими словами, если вам нужен ORM, LinqBridge вам не поможет . Вы должны проверить некоторые из других предложений.

1
27.08.2008 20:12:55