Using the ExecuteEnumerator() Method
The ExecuteEnumerator() method appears on generated adapters that return columnar output. This is the simplest and most efficient way of executing a statement that returns results
and is the preferred method for execution.
In the example below we illustrate the use of this method:
1: public static FaqItemCollection GetFaqByCategory(Lookup<byte> category) {
2: FaqItemCollection collection = new FaqItemCollection();
3: FaqItem tempFaq = null;
4:
5: using (SqlConnection connection = new SqlConnection(ApplicationState.ConnectionString)) {
6: using (SelectFaqByCategoryIdAdapter adapter = new SelectFaqByCategoryIdAdapter(connection)) {
7: adapter.CategoryId = category.PrimaryKey.Value;
8: foreach (DbDataRecord record in adapter.ExecuteEnumerator()) {
9: tempFaq = new FaqItem();
10: tempFaq.primaryKey = record.GetInt32(SelectFaqByCategoryIdAdapter.FaqIdColumnPosition);
11: tempFaq.FaqCategory = category;
12: tempFaq.Question = record.GetString(SelectFaqByCategoryIdAdapter.QuestionColumnPosition);
13: tempFaq.Answer = record.GetString(SelectFaqByCategoryIdAdapter.AnswerColumnPosition);
14: tempFaq.CreatedDate = record.GetDateTime(SelectFaqByCategoryIdAdapter.CreatedDateColumnPosition);
15: if (!record.IsDBNull(SelectFaqByCategoryIdAdapter.ModifiedDateColumnPosition)) {
16: tempFaq.ModifiedDate = record.GetDateTime(SelectFaqByCategoryIdAdapter.ModifiedDateColumnPosition);
17: }
18: collection.Add(tempFaq);
19: }
20: }
21: }
22:
23: return collection;
24: }