LINQ к Объектам, Ищущим текстовые свойства несколько ключевых слов

Конструктор, на который вы ссылаетесь (и сам класс Dispatch), - это детали реализации Guava, и вы не должны его использовать. Скорее всего, вы хотите передать custom Executor в AsyncEventBus , он будет использоваться для отправки событий.

Пользовательские Dispatchers не допускаются IMO, потому что трудно реализовать очереди надежным и потокобезопасным способом, и создатели библиотеки решили запретить такую ​​возможность.

7
задан Andrey Shchekin 2 August 2012 в 05:48
поделиться

4 ответа

Похож на Linq к Объектам, не поддерживает, содержит:

http://msdn.microsoft.com/en-us/library/bb738638.aspx

Я прокрутил бы свой собственный запрос для этого. Ваша, вероятно, попытка хотеть полный контроль над текстовыми поисковыми запросами, если Вы узнаете эти типы поисков, становится проблемами производительности.

3
ответ дан 6 December 2019 в 15:32
поделиться

Едва ли LINQ имел отношение, но Вы могли рассмотреть использование Полнотекстового поиска SQL Server, в то время как СОДЕРЖИТ предикат, понимает булевы операторы — И, ИЛИ, И НЕТ.

Эта статья могла также быть полезной: Динамично Сочиняющие Предикаты Выражения

0
ответ дан 6 December 2019 в 15:32
поделиться

как насчет вместо:

IQueryable<SesameCharacters> filter = entities.SesameCharacters;

        foreach (string keyword in k)
            filter = ForceFilter(filter, keyword);

        output = filter.ToList();

Сделайте:

return (from c in entities.SesameCharacters
         where k.Contains(c..Description.ToLower())
         select c
         ).ToList();
1
ответ дан 6 December 2019 в 15:32
поделиться

Я обнаружил, что это сработало для меня - это использование VB.Net с Entity Framework 4.0, но я уверен, что принцип работает.

Этот выполняет запрос в стиле «ИЛИ»:

    Function Search(ByVal query As String) As IQueryable(Of Product)
    Dim queryWords As String() = query.Split()
    Dim entities As New Entities()

    Return entities.Products.Where(Function(p) queryWords.Any(Function(w) p.Description.Contains(w)))
End Function

А этот выполняет запросы в стиле «И»:

Function Search(ByVal query As String) As IQueryable(Of product)
    Dim queryWords As String() = query.Split()
    Dim entities As New Entities()

    Return entities.Products.Where(Function(p) queryWords.All(Function(w) p.Description.Contains(w)))
End Function
10
ответ дан 6 December 2019 в 15:32
поделиться
Другие вопросы по тегам:

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