Im Moment habe ich eine FilterDefinition mit diesem haben:Filterdefinition mit einem Array-Parameter (SQL: WHERE IN)
public class PurposeFilter:FilterDefinition
{
public PurposeFilter()
: base(NHibernateFilters.PurposeFilter, "PurposeId = :purposeId",
new Dictionary<string, IType> { { "purposeId", NHibernateUtil.Int64 } }, false)
{}
}
Dies fügt einen WHERE PurposeId = <someId>
zum SQL erzeugt. Ich möchte jedoch Unterstützung für mehrere IDs hinzufügen, so dass das resultierende SQL wäre WHERE PurposeId IN (<someId>, <someOtherId>)
. Ich habe den folgenden Code (der nicht funktioniert) - irgendwelche Vorschläge, wie man das unterstützt?
public class MultiPurposeFilter : FilterDefinition
{
public MultiPurposeFilter()
: base(NHibernateFilters.MultiPurposeFilter, "PurposeId IN (purposeIds)"
, new Dictionary<string, IType> { { "purposeIds", NHibernateUtil.Int64 } }, false)
{
}
}
Haben Sie "PurposeId IN (: purposeIds)" und "SetParameterList" versucht, die Werte zu setzen? – Najera
@Najera: Das war einfach ... und es funktioniert ... Danke! Bitte wandle deinen Kommentar in eine Antwort um und ich werde es genehmigen ;-) – Goblin