Может ли RavenDB создать индекс для имени коллекции через дефис?

Я пытаюсь создать индекс из RavenDB Studio для коллекции с именем employee-tickets но я не могу найти правильный синтаксис. Кто-нибудь знает секрет?

я пробовал from t in docs["employee-tickets"] но это только жалуется со следующей ошибкой:

Невозможно применить индексирование с помощью [] к выражению типа

Я знаю, что могу переименовать свою сущность, но я просто не хочу:)

2 ответа

Решение

Вы можете, но это не рекомендуется, вы можете использовать:

from doc in docs
where doc["@metadata"]["Raven-Entity-Name"] == "employee-tickets"
// rest of index

Но я бы порекомендовал использовать идентификатор.

Я думаю, что это неправильный способ назвать коллекцию. Конечно, в.net вы не можете назвать объект с "-", и тогда у вас не может быть коллекции с таким именем.

Синтаксис, который вы могли бы использовать:

docs.CollectionName.Select(element => new {
    PropertyName = element.PropertyName
    .
    .
    .
})

ИЛИ ЖЕ

from element in docs.CollectionName
select new {
   PropertyName = element.PropertyName
}
Другие вопросы по тегам