2009-03-30 2 views
7

Я просто читал о том, что Linq to SQL прекращается. Некоторое время я откладывал обучение Linq вообще. Даже на asp.net, когда я последний раз проверял, в их учебниках по доступу к данным использовались адаптеры таблиц и классы bll. Затем есть учебники linq. Теперь, когда я прочитал это и что Entity Framework - это новый способ, это означает, что все материалы Linq, которые я читал около полутора лет, насколько это здорово и т. Д., - все это просто ушел? Никто никогда, кажется, не подходит к правильному способу делать что-либо или, по крайней мере, стандартный способ с продуктами MS. И я понимаю, что вы не можете сказать, что один способ прав для всего. Но в этом конкретном случае я не понимаю, почему не может быть определенного доступа к доступу к данным.Является ли LinqToSQL таким же, как Linq?

Или, является Linq To SQL только частью ORM Linq? Что именно я узнал бы сейчас, если бы захотел использовать ORM? Я прочитал несколько вещей в StackOverflow, но никто из них действительно не помогает мне знать, что делать.

Кажется, что nHibernate может быть лучше любого из вариантов Microsoft. Да, я знаю, что есть другие (дозвуковые, и другие были упомянуты в различных вопросах SO.)

Спасибо.

ответ

13

No.

LINQ к SQL построен на вершине LINQ, который является одним из фундаментального добавленных возможностей языка в .NET Framework 3.5.

Технически другие ORM могут реализовать свои собственные системы LINQ, например, NHibernate уже имеет LINQ to NHibernate. Это находится поверх тех, которые представлены в структуре, таких как LINQ to XML, LINQ to Objects и т. Д.

+0

Существует нелепое количество провайдеров, включая LINQ to Twitter и т. Д. Я смею сказать, что они полезны кому-то там. :) – ZombieSheep

+0

LINQ to Twitter ?! Я должен искать это. : P –

+0

http://www.codeplex.com/LinqToTwitter * sigh * - Я только что немного умер внутри. ;) – ZombieSheep

3

Linq намного больше, чем Linq-to-SQL. Например, такие элементы, как Linq-to-Objects и Linq-to-XML, являются частью технологии.

Я сомневаюсь, что они уходят! Скрещенные пальцы. ;-)

5

Linq to sql является лишь одним из многих провайдеров linq (есть linq to db4o, linq to starcounter, linq для объектов, linq to ado и многие, многие другие). Сущность framework имеет свой собственный поставщик linq, называемый linq to enteties. Ваш год чтения о linq не потерян.

2

LINQ не исчез. LINQ to SQL тоже нет, но это не стратегическая платформа Microsoft для доступа к данным, это будет Entity Framework. EF использует LINQ для Entities, поэтому, если вы потратили время на изучение LINQ, он все равно будет действительным и полезным.

LINQ не является специфичной для продукта технологией. Легко использовать силу и гибкость в коллекциях (почти) всех видов. например.

List<MyType> myList = new List<MyType>(); 
// populate the list here 
var filteredResults = from o in myList 
         where o.property == "hello world" 
         select o; 

является (концептуальным) действительным, даже если пример кода здесь испорчен.

10

Сущность Framework, конечно же, не означает, что LINQ уходит - платформа Entity Framework является поставщиком LINQ!

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

LINQ to SQL - всего лишь один пример этого шаблона. Для чего это стоит, я думаю, что LINQ to SQL отделяется, а не уходит, но мы увидим ...

Лично я считаю, LINQ к объектам самый полезный поставщик LINQ в первую очередь :)

0

LINQ представляет собой библиотеку для обработки последовательностей данных. И это довольно удивительно. Эти последовательности данных могут быть любыми, что реализует IEnumerable, или это могут быть любые последовательности, предоставляемые адаптерами.

Linq to SQL - это адаптер, который позволяет базе данных SQL предоставлять последовательности данных, совместимых с LINQ.

Существует также Linq to XML, который является адаптером, который позволяет обрабатывать XML-документ в виде последовательности данных, позволяя LINQ обрабатывать его.

LINQ - это только язык запросов, и он очень хорош в том, что он делает. Он не имеет ничего общего с базами данных или SQL. Это определенно стоит изучить только для того, чтобы легко обрабатывать коллекции в памяти.

Смежные вопросы