Индекс RavenDB на подклассах - PullRequest
0 голосов
/ 20 октября 2011

Я пытаюсь создать индексы для ProviderProfileId, Email и Address1

Я создал запросы, которые работают, но не индексы.Я знаю, что наследование от List для коллекций может быть частью проблемы.Список перенесен с того времени, когда мне пришлось выполнять значительную часть XmlSerialization в гораздо более старых проектах, и это стало привычкой в ​​моём моделировании.Я также заметил, что в Raven сериализация намного чище, чем если бы AddressCollection были просто List.Есть мысли?

Модель похожа на

public class Customer {
   public string Id {get;set}
   public string Name {get;set;}
   public AddressCollection {get;set;}
   public SocialMediaAliasCollection {get;set;}
}

public class SocialMediaAliasCollection:List<SocialMedialProfile>{}

public class SocialMediaProfile{
    public string ProviderProfileId {get;set;}
    public string Email {get;set;}
}

public class AddressCollection:List<Address>{}

public class Address{
 public string Address {get;set;}
 public string City {get;set;}
 public string State {get;set;}
 public string Zip {get;set;}
}

1 Ответ

0 голосов
/ 26 октября 2011

Я теперь ответил на это, в основном, я не знал linq достаточно хорошо.Имеет смысл, как только я понял это.Я пытался создать индекс для подколлекции, в данном случае адресов.Не 100% это работает, но он компилируется, и когда я помещаю индекс на сервер, он не взрывается.

Map = collection => from item in collection where item.AddressCollection != null
                    from item2 in item.AddressCollection
                    select new {
                         item2.city
                     }
...