Ответ 1
Вы можете использовать yield return
так:
public IEnumerable<Favorites> GetFavorites()
{
using (SqlConnection sqlConnection = new SqlConnection(connString))
{
sqlConnection.Open();
using (SqlCommand cmd = sqlConnection.CreateCommand())
{
cmd.CommandText = "Select * from favorites";
cmd.CommandType = CommandType.Text;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// Create a Favorites instance
var favorites = new Favorites();
favorites.Foo = reader["foo"];
// ... etc ...
yield return favorites;
}
}
}
}
}
Очевидно, что вы можете реорганизовать это, создав конструктор "Избранное", который принимает IDataReader
или SqlDataReader
, или создайте метод утилиты для заполнения значений или что-то еще, но это базовая структура.