Ich verwende folgenden Code, um das Ergebnis aus dem Lucene-Index zu erhalten.So verwenden Sie DbFunctions in IQueryable für Lucene Indexsuche
using (var context = ContentSearchManager.GetIndex("my_profile_index").CreateSearchContext())
{
IQueryable<ProfileSearchItem> query = from profile in context.GetQueryable<ProfileSearchItem>()
where profile.LastName.Equals("Zafar")
let diffYears = DbFunctions.DiffYears(profile.Birthdate, DateTime.Today)
select profile;
return query.ToList();
}
ich Ausnahme wegen DbFunctions.DiffYears
:
Exception Details: System.MissingMethodException: No parameterless constructor defined for this object.
ich genau einen Datensatz, wenn ich nicht die DbFunctions
in obiger Abfrage verwenden. Ich würde gerne wissen, wie man DbFunctions
beim Durchsuchen von Indizes verwendet. Dies ist nur eine Beispielabfrage, mein einziges Ziel ist wie im Titel erwähnt.
ProfileSearchItem
Klasse:
public class ProfileSearchItem
{
[IndexField("_group")]
public string ItemId { get; set; }
[IndexField("_language")]
public string Language { get; set; }
[IndexField("birthdate")]
public DateTime Birthdate { get; set; }
[IndexField("first_name")]
public string FirstName { get; set; }
[IndexField("last_name")]
public string LastName { get; set; }
}