Я пытаюсь научиться писать индексы.Например, я сделал следующее в инструменте администратора, и он работает нормально:
from doc in docs.RavenJObjects
from table in doc["Loader"]["Table"] where table["@Type"] == "Contact_Info"
from row in (IEnumerable<dynamic>)table["Row"] where Convert.ToInt32(row["@Index"]) > 1
select new {}
Я попытался использовать тот же синтаксис, используя код, но получаю ошибку:
DocStore.DatabaseCommands.PutIndex("JIndex", new Raven.Client.Indexes.IndexDefinitionBuilder<RavenJObject>
{
Map = docs => from doc in docs
from table in doc["Loader"]["Table"] where table["@Type"] == "Contact_Info"
from row in (IEnumerable<dynamic>)table["Row"] where Convert.ToInt32(row["@Index"]) > 1
select new {}
});
Ошибка:
Cannot apply indexing with [] to an expression of type 'Raven.Json.Linq.RavenJToken'
Каким должен быть правильный синтаксис в коде?Спасибо