Je ne sais pas si ce que je demande est possible ou non. C'est pourquoi je suis ici pour discuter.Effectuer une opération sur la liste générique
J'ai une liste personnalisée qui contient les informations de tous les utilisateurs et leurs détails.
Sur mon application, je commence à le remplir à partir de la base de données. En d'autres termes, il contient la copie de la base de données. Donc, au lieu de tirer des données à chaque fois de la base de données, je veux effectuer une opération sur cette liste.
J'ai écrit une requête qui recherche les utilisateurs depuis la table de base de données et je veux la traduire pour cette liste afin que mon traitement lié à la base de données soit minimum. Ceci est une application d'appareil unique et aucun autre utilisateur ne modifie l'application.
List<Users> selectedUsers = new List<Users>();
sql_cmd = new SqlCommand();
sql_cmd.Connection = sql_con;
#region First Name Search
if (category == SearchCategory.ByFirstName)
{
sql_cmd.Parameters.Add("@firstName", SqlDbType.VarChar).Value = Value;
sql_cmd.CommandText = "SELECT * FROM AccountsUsers WHERE accFirstName Like @firstName+'%'";
SqlDataReader reader = sql_cmd.ExecuteReader();
if (reader.HasRows == true)
{
while (reader.Read())
{
Users userToAdd = new Users();
userToAdd.userId = int.Parse(reader["Id"].ToString());
userToAdd.firstName = reader["accFirstName"].ToString();
userToAdd.lastName = reader["accLastName"].ToString();
// GetAccountsDetails(userToAdd.userId, ref userToAdd);
selectedUsers.Add(userToAdd);
}
}
}
Ce que j'indend à faire est la liste de recherche que j'ai pas la base de données pour la liste exemple users.for contient de nombreux utilisateurs et si dans la boîte de recherche i entrer AS
alors je peux filtrer toutes les entrées commençant par COMME. Vous souhaitez des fonctionnalités similaires à celles de la requête de caractères génériques.
Comment est votre LINQ? –
pas brillant dans cette section, mais je veux voir comment cela peut être fait parce que LINQ est une chose intelligente –
Ai-je raison de penser que vous voulez remplir cette liste une fois, puis manipuler les données en elle. Si c'est le cas, le code que vous avez est OK, vous avez juste besoin d'enlever le filtrage. Une fois la liste remplie, vous pouvez utiliser LINQ pour manipuler les éléments dont vous avez besoin. Par exemple, si vous voulez une liste d'utilisateurs avec un prénom d'Afnan, vous pouvez utiliser 'var afnans = selectedUsers.Where (user => user.firstName ==" afnan ")' –