Linq или ADO или? - PullRequest
       11

Linq или ADO или?

0 голосов
/ 22 июня 2010

Создание приложения с базой данных, которая способна получить большой, не ОГРОМНЫЙ, а определить большие таблицы с миллионами записей. Я только что видел, что LINQ не подходит для больших баз данных.

Внешний интерфейс будет в Silverlight, и я с нетерпением ждал возможности использовать его функцию Skip and Take для асинхронных вызовов, чтобы ускорить доступ клиентов в первый раз к моему GUI.

Что вы можете сказать мне было бы неправильно в этом сценарии?

Что вы используете LINQ или что-то еще?

МОЙ BAck End - это SQL Server 2005 или лучше.

Ответы [ 4 ]

4 голосов
/ 22 июня 2010

Я бы использовал Службы данных WCF (для передачи данных с сервера в приложение Silverlight) с поддержкой Entity Framework 4 этих служб.

Возможно, вы также захотите ознакомиться с этой статьей в журнале MSDN, в которой рассказывается о создании простой модели данных сущности (с нуля), службах данных WCF поверх вашей модели и о том, как использовать эти службы из Silverlight:

Visual Studio - Entity Framework 4.0 и службы данных WCF 4.0 в Visual Studio 2010

3 голосов
/ 24 июня 2010

Я согласен с ответом Джастина и отправляю только свой собственный ответ, потому что, похоже, никто не ответил на вопрос, который вы задали в одном из ваших комментариев.
"Что такое Entity, это замечательно и делает его быстрее и проще?"

* LINQ, используемый в сочетании с Entity Framework, обеспечивает очень чистый синтаксис, который после некоторой кривой обучения легче писать.
* IMO легче читать почти с самого начала.
* Вы получаете Intellisense.
* У вас нет беспорядка SQL, встроенного в C # или VB.
* Вы получаете хороший документ.

Суть в том, что вы становитесь лучше (проще в обслуживании) кода C #.

Я также должен добавить, что эти же преимущества можно получить от использования NHibernate и других инструментов ORM.Entity Framework - не единственный ваш выбор.

0 голосов
/ 22 июня 2010

LINQ фактически преобразует ваш синтаксис кода LINQ в команды SQL (изнутри).Если у вас есть какие-либо сомнения по этому поводу, вы можете использовать SQL Profiler (также известный как SQL Trace), чтобы увидеть команды SQL, сгенерированные LINQ, за кулисами.По производительности он должен быть похож на ADO.NET.

0 голосов
/ 22 июня 2010

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

DevForce IdeaBlade может предложить более комплексное решение.

...