Где найти несколько хороших руководств по написанию собственного провайдера LINQ?

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

Где найти несколько хороших руководств по написанию собственного провайдера LINQ?

7 ответов

Решение

У вас также есть эта запись в блоге: Написание собственного поставщика LINQ

Мэтт Уоррен (один из основных разработчиков LINQ to SQL), вероятно, разместил лучшую серию публикаций в своем блоге по адресу http://blogs.msdn.com/mattwar/

Это более чем просто - это действительно очень сложно, я верю. (Из того, что я видел, например, с трудностями, с которыми столкнулся Франс Боума.) Такие вещи, как различия между тем, как C# и VB обрабатывают разрешение методов, делают его более сложным, наряду с вспомогательными методами VB, которые могут неожиданно появляться в деревьях выражений (непосвященным).

Однако вы можете посмотреть на LINQ to Amazon и LINQ to Active Directory, чтобы увидеть, как они работают.

Вы можете попробовать LinqExtender. Это позволит вам быстрее связаться с поставщиком LINQ.

Пожалуйста, попробуйте пример, где я использовал его, чтобы сделать простой поставщик, как LINQToTwitter.

http://weblogs.asp.net/mehfuzh/archive/2009/01/01/creating-linqtotwitter-library-using-linqextender.aspx

Есть также этот учебник MSDN: Пошаговое руководство . Создание поставщика LINQ IQueryable

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

Хороший проект, с которым я столкнулся (который все еще находится в зачаточном состоянии) - это LINQ to TFS, и он прост, и хорошо начать.

Я также прочитал много кода для LINQ to SharePoint, так как он получил и исходные, и модульные тесты, чтобы вы могли увидеть, как он работает.

Другие вопросы по тегам