我不知道我問的是否可能。這就是我來這裏討論的原因。對通用列表執行操作
我有一個自定義列表,其中包含所有用戶及其詳細信息。
在我的應用程序開始我從數據庫中填充它。換句話說,它包含數據庫的副本。因此,我不想每次從數據庫中提取數據,我想在這個列表上執行操作。
我寫了一個查詢,從數據庫表中搜索用戶,我想將它翻譯爲這個列表,這樣我的數據庫處理是最小的。這是一個單一設備應用程序,沒有其他用戶修改該應用程序。
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);
}
}
}
我indend做的是包含許多用戶認爲我已經沒有了users.for例如列表數據庫搜索列表,如果在搜索框中我輸入AS
那麼我就可以過濾掉所有的條目與開始如。 想要查詢通配符的類似功能。
你的LINQ如何? – 2011-05-21 20:17:21
不要在該部分明亮,但我想看看它是如何完成的,因爲LINQ是智能的東西 – 2011-05-21 20:19:25
我是否認爲你想填充這個列表一次,然後操縱其中的數據。如果是這樣,你的代碼是確定的,你只需要刪除過濾。一旦你填充了列表,你可以使用LINQ來操作你需要的元素。例如,如果你想要一個名字爲Afnan的用戶列表,你可以使用'var afnans = selectedUsers.Where(user => user.firstName ==「afnan」)' – 2011-05-21 20:25:43