3
は今、私はこれでFilterDefinitionを持っている:Filterdefinition(SQL:IN)
public class PurposeFilter:FilterDefinition
{
public PurposeFilter()
: base(NHibernateFilters.PurposeFilter, "PurposeId = :purposeId",
new Dictionary<string, IType> { { "purposeId", NHibernateUtil.Int64 } }, false)
{}
}
これは、生成されたSQLにWHERE PurposeId = <someId>
を追加します。しかし、私は複数のIDのサポートを追加したいので、結果として得られるSQLはWHERE PurposeId IN (<someId>, <someOtherId>)
になります。私は次のコードを持っています(それは動作しません) - これをサポートする方法に関する提案?
public class MultiPurposeFilter : FilterDefinition
{
public MultiPurposeFilter()
: base(NHibernateFilters.MultiPurposeFilter, "PurposeId IN (purposeIds)"
, new Dictionary<string, IType> { { "purposeIds", NHibernateUtil.Int64 } }, false)
{
}
}
値を設定するために "PurposeId IN(:purposeIds)"および 'SetParameterList'メソッドを試しましたか? – Najera
@Najera:それは簡単でした...それは動作します...ありがとう!あなたのコメントを回答に変換してください、私はそれを承認します;-) – Goblin