如何让 SQL 服务器 table 存储列表?

How get SQL Server table to be store a list?

作为 java 开发人员,这很容易实现。但我无法在 C# 中实现它。我想从 SQL 服务器数据库获取数据并将它们存储在一个对象类型的列表中以满足 table 的需要。

对象:

class Category
{
    public int Id { get; set; }
    public string Name { get; set; }
}

和数据库中的table:

和代码:

public List<Category> GetCategoryList() 
{
        connect.Open();

        SqlCommand cmd = new SqlCommand("Select * From Category", connect);

        int i = cmd.ExecuteNonQuery();

        connect.Close();
}

我相信有一个名为 DataReader 的东西我必须使用它,但我找不到解释或如何在像我这样的情况下使用它的示例

public List<Category> GetCategoryList() 
{
    List<Category> columnData = new List<Category>();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        SqlCommand cmd = new SqlCommand("Select * From Category", connect);
        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                columnData.Add(new Category {
                    Id= reader["Id"] is DBNull ? null : int.Parse(reader["Id"]),
                    Name = reader["Name"] is DBNull ? null : reader["Name"].ToString() 
                });
            }         
        }
    }
    return columnData;
}