Использование полиморфных запросов к интерфейсам в RavenDB

Я заинтересован в переключении нашего приложения (или его частей) на использование RavenDB с SQL-сервера с NHibernate.

Ключевой особенностью, которую я не могу найти в Raven, является использование интерфейсов для запросов, например:

ISearchable
{
  string Name {get;set;}
}

Class1 : ISearchable
{
  string Name {get;set;}
}
Class2 : ISearchable
{
   string Name {get;set;}
}

В NH я могу искать содержимое поля Name в любом ISearchable: QueryOver<ISearchable>().

Кажется, я не могу найти это в Raven, я что-то упустил? Самое близкое, что я нашел, это изменить часть строки перед идентификатором, чего я не хочу делать; основная функция Class1 и Class2 недоступна для поиска!

Спасибо

Стью


person Stu    schedule 14.09.2011    source источник


Ответы (1)


Определите индекс, например:

// ByName
from doc in docs
select new { doc.Name }

сеанс.Запрос("ПоИмени");

person Ayende Rahien    schedule 14.09.2011
comment
Как определить такой индекс в C#? На самом деле, какой TDocument использовать для IndexDefinitionBuilder‹TDocument› для запросов в документах, а не в docs.TDocument? - person Zelid; 10.04.2012