J'essaie de trouver un ou plusieurs documents dans RavenDB en fonction des valeurs d'une collection enfant.RavenDB SelectMany non pris en charge
J'ai les classes suivantes
public class GoldenDocument
{
public GoldenDocument()
{
LinkedDocuments = new List<LinkedDocument>();
MergeMatchFields = new List<MergeMatchField>();
}
public string Id { get; set; }
public Guid SourceRowId { get; set; }
public List<MergeMatchField> MergeMatchFields { get; set; }
public List<LinkedDocument> LinkedDocuments { get; set; }
}
Et la classe qui se trouve dans la collection MergeMatchFields
public class MergeMatchField
{
public string Id { get; set; }
public Guid OriginId { get; set; }
public string Name { get; set; }
public MatchType MatchType { get; set; }
public double MatchPerc { get; set; }
public string Value { get; set; }
}
Dans une collection List<MergeFields> mergeFields
j'ai des valeurs qui ne sont pas stockées dans RavenDB encore. Les valeurs sont comparées à des valeurs dans un document RavenDB pour savoir si ce dernier est une correspondance possible en exécutant la requête suivante:
using (var session = documentStore.OpenSession())
{
var docs = from gd in session.Query<GoldenDocument>()
from mf in gd.MergeMatchFields
from tf in mergeFields
where mf.Name == tf.Name
&& JaroWinklerCalculator.jaroWinkler(mf.Value, tf.Value) > .90d
&& !string.IsNullOrEmpty(mf.Value)
select gd;
}
Je comprends que RavenDB ne supporte pas SelectMany()
alors comment pourrais-je obtenir les résultats du document le magasin?
Merci Ayende, avec des requêtes floues Je suppose que vous voulez dire que RavenDB a intégré le support de JaroWinkler et/ou Levenshtein ou l'un de ces algorithmes? – jvanrhyn