Кто такой поставщик LINQ? [закрытый]

От O'Reilly:

  • заметные различия между System V и реализациями семафора POSIX - то, что в System V можно управлять, насколько семафорное количество может быть увеличено или уменьшено; тогда как в POSIX, семафорное количество увеличено и уменьшено на 1.
  • семафоры POSIX не позволяют управление семафорными полномочиями, тогда как семафоры System V позволяют Вам изменять полномочия семафоров к подмножеству исходного разрешения.
  • Инициализация и создание семафоров являются атомарными (с точки зрения пользователя) в семафорах POSIX.
  • С точки зрения использования, семафоры System V неуклюжи, в то время как семафоры POSIX просты
  • , масштабируемость семафоров POSIX (использующий семафоры без имени) намного выше, чем семафоры System V. В пользователе/клиентском сценарии, где каждый пользователь создает ее собственные экземпляры сервера, было бы лучше использовать семафоры POSIX.
  • семафоры System V, при создании семафорного объекта, создают массив семафоров, тогда как семафоры POSIX создают всего один. Из-за этой функции семафорное (мудрое объемом потребляемой памяти) создание является более дорогостоящим в семафорах System V когда по сравнению с семафорами POSIX.
  • было сказано, что производительность семафора POSIX лучше, чем system-v-основанные семафоры.
  • семафоры POSIX обеспечивают механизм для семафоров всего процесса, а не семафоров в масштабе всей системы. Так, если разработчик забывает закрывать семафор на выходе процесса, семафор очищен. Проще говоря, семафоры POSIX обеспечивают механизм для нестойких семафоров.

11
задан Robert Harvey 14 October 2009 в 18:31
поделиться

2 ответа

Поставщик linq - это программное обеспечение, которое реализует интерфейсы IQueryProvider и IQueryable для конкретного хранилища данных. Другими словами, он позволяет вам писать запросы Linq для этого хранилища данных. Например, поставщик Linq to XML позволяет писать запросы Linq к документам XML.

См. http://dotnetslackers.com/articles/csharp/LINQProviderBasics.aspx

Вы также можете написать свой собственный Linq провайдера, хотя это нетривиально. См. Создание поставщика IQueryable и Пошаговое руководство: Создание поставщика IQueryable LINQ для получения дополнительной информации.

14
ответ дан 3 December 2019 в 07:13
поделиться

"LINQ (встроенный языковой запрос) работает как средний уровень между данными магазин и языковая среда. С точки зрения разработчика, это это просто новый шаблон для запросов данные из нескольких структур данных прямо в IDE. За кулисами он выполняет множество задач, таких как обработка выражений, проверка и вызывая правильную процедуру для получения данные или создать запрос для запуска в SQL Сервер. Короче говоря, LINQ означает общий шлюз запросов между язык и хранилище данных ". http://dotnetslackers.com/articles/csharp/LINQProviderBasics.aspx

Конкретный шлюз для конкретного хранилища данных (например, файлов xml, sql rdmbs) называется поставщиком LINQ. Это реализовано путем реализации интерфейса IQueryable.

У Мэтта Варена есть отличная серия руководств по реализации cusotm linq provider.

3
ответ дан 3 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

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