Может ли 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
}