Ich habe folgendes RavenDB Index:Abfragen eines RavenDB Index gegenüber einer externen Liste <T>
public class RidesByPostcode : AbstractIndexCreationTask<Ride, RidesByPostcode.IndexEntry>
{
public class IndexEntry
{
public string PostcodeFrom { get; set; }
public string PostcodeTo { get; set; }
}
public RidesByPostcode()
{
Map = rides => from doc in rides
select new
{
doc.DistanceResult.PostcodeFrom,
doc.DistanceResult.PostcodeTo
};
StoreAllFields(FieldStorage.Yes);
}
}
I darstellt Postleitzahlen auch eine Liste von Strings haben, und ich möchte die Fahrten alle, für die bekommen die PostcodeFrom
ist in die Liste der Postleitzahlen:
var postcodes = new List<string> { "postcode 1", "postcode 2" };
var rides = _database.Query<RidesByPostcode.IndexEntry, RidesByPostcode>()
.Where(x => postcodes.Contains(x.PostcodeFrom))
.OfType<Ride>()
.ToList();
Aber natürlich RavenDB sagt es die .Contains
Ausdruck nicht verstehen kann.
Wie kann ich eine solche Abfrage in RavenDb erreichen, ohne .ToList()
vor der where
Klausel aufrufen zu müssen?