J'ai le code suivant dans une classe de base.Création d'une requête dynamique subsonique avec plusieurs clauses where
MyApp.MyDB = new MyApp.MyDB();
IRepository<T> repo = new SubSonicRepository<T>(db);
CurrentTable = repo.GetTable();
var s = db.SelectColumns(columnList.ToArray()).
From(CurrentTable.Name).
OrderAsc(CurrentTable.Descriptor.Name);
L'idée est que toutes mes classes peuvent appeler cette méthode. Je viens de me rendre compte que je pourrais avoir besoin d'une instruction 'where' et il pourrait y avoir de nombreux noms et valeurs de colonnes à tester.
Quelle est la meilleure approche pour cela?
MISE À JOUR: J'ai trouvé cela fonctionne ci-dessous mais est-ce la meilleure pratique?
//WhereClause is a Dictionary<string, string>
int count = 0;
foreach (var whereitem in WhereClause)
{
if (count == 0)
{
s.Where(whereitem.Key).IsEqualTo(whereitem.Value);
}
else
{
s.And(whereitem.Key).IsEqualTo(whereitem.Value);
}
count++;
}