Описание тега linq-to-twitter

LINQ to Twitter - это сторонний поставщик LINQ с открытым исходным кодом для службы микроблогов Twitter. Он использует стандартный синтаксис LINQ для запросов и включает вызовы методов для команд через Twitter API.

LINQ в Twitter

LINQ to Twitter - это сторонний поставщик LINQ с открытым исходным кодом (библиотека Twitter) для службы микроблогов Twitter. Он использует стандартный синтаксис LINQ для запросов и включает вызовы методов для изменений через API Twitter.

пример

Следующий запрос возвращает результаты поиска, в которых люди пишут в Твиттере о LINQ to Twitter:

        var twitterCtx = new TwitterContext(...);

        var searchResponse =
            await
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == "\"LINQ to Twitter\""
             select search)
            .SingleOrDefaultAsync();

        if (searchResponse != null && searchResponse.Statuses != null)
            searchResponse.Statuses.ForEach(tweet =>
                Console.WriteLine(
                    "User: {0}, Tweet: {1}", 
                    tweet.User.ScreenNameResponse,
                    tweet.Text));

С точки зрения опыта программирования, TwitterContext type аналогичен Entity Framework DBContext. Вы используетеTwitterContext пример, twitterCtx, чтобы получить доступ IQueryable<T>категории твитов. В приведенном выше примереSearch даст вам возможность искать в Твиттере твиты, удовлетворяющие некоторым критериям.

Примечание. Многоточие в параметрах TwitterContext указывает на то, что вам необходимо предоставить авторизатору необходимые учетные данные. Вы можете посетить раздел "Защита приложений" для получения документации по авторизаторам и посетить страницу загрузки для ознакомления с рабочими примерами.

Каждая категория запроса имеет Typeсвойство для типа твитов, которые вы хотите вернуть. Например,Status твиты могут быть сделаны для Home, Mentions, или Userсроки. Каждая категория запроса также имеетXxxTypeenum, чтобы помочь вам выяснить, что доступно. В приведенном выше примере используетсяSearchType.Searchдля выполнения поисков. Другой пример:Status запросы, которые могут иметь StatusType.Home как его Type. На случай, еслиSearch запросы, Search это единственный вариант, но Type идиома одинакова для всех категорий запросов.

Как и другие поставщики LINQ, вы получаете IQueryable<T>назад из запроса. Вы можете увидеть, как материализовать запрос, вызвавSingleOrDefaultAsyncоператор. ЗаSearch результаты, вы получите один Search сущность, содержащая информацию о Search запрос и Search сущность содержит Statuses свойство, которое является коллекцией Statusсущности. По другим запросам вы бы материализовали запрос с помощьюToListAsyncдля множественных результатов. Как и другие поставщики LINQ, LINQ to Twitter выполняет отложенное выполнение, поэтому такие операторы, какToListAsync а также SingleOrDefaultAsync или такие заявления, как for а также foreach циклы вызовут выполнение запроса и вызовут фактический вызов Twitter.

Последняя версия LINQ to Twitter поддерживает асинхронный режим. Вы можете увидеть это в приведенном выше кодеawait's запрос, используя SingleOrDefaultAsyncоператор. Команды также асинхронны. напримерawait TweetAsync("Hello from LINQ to Twitter").

Дополнительные сведения о том, как работает LINQ to Twitter, можно найти на странице Выполнение вызовов API для конкретных примеров API. Загружаемый исходный код также содержит множество примеров в проектах. Просто загляните в папку Samples.

Ресурсы

NuGet

Помимо возможности загрузки с этого сайта, вы также можете автоматически установить LINQ to Twitter в свои проекты Visual Studio через NuGet;

PM> Установочный пакет linqtotwitter

Доступный набор функций

См. Выполнение вызовов API.

Для получения дополнительной информации:

  • подписывайтесь на @JoeMayo для выпусков и связанных сообщений в блогах.
  • следуйте @Linq2Twitr для получения более подробной информации о проекте.