我想知道是否有任何方法可以直接从 SQL 服务器填充 ObservableCollection。目前我正在将我的数据加载到 DataTable 中(使用 sqlDataAdapter)并手动转换为 ObservableCollection,但效率非常低。
怎么做?
我想知道是否有任何方法可以直接从 SQL 服务器填充 ObservableCollection。目前我正在将我的数据加载到 DataTable 中(使用 sqlDataAdapter)并手动转换为 ObservableCollection,但效率非常低。
怎么做?
好的,我找到了一种方法来做到这一点:
可以使用 SqlDataReader 来完成。
public ObservableCollection<DataItem> LoadCategoriesData()
{
Command = new SqlCommand(StoredProcedure, Connection);
Command.CommandType = CommandType.StoredProcedure;
ObservableCollection<DataItem> myColl = new ObservableCollection<DataItem>();
Connection.Open();
SqlDataReader reader = Command.ExecuteReader();
while (reader.Read())
{
int mainCatID = reader.GetInt32(0);
string categoryName = reader.GetString(1);
//adding row data to observable
myColl.Add(new DataItem(mainCatID, categoryName));
}
Connection.Close();
return myColl;
}