从数据表创建C#对象

iam*_*esy 5 c# class datareader object

我只是让我的脑袋绕C#。我一直在创建类和对象,所以说我创建了一个名为Member的类:

 public class Member
 {
     public int MemberID;
     public string FirstName;
     public string LastName;
     public string UserName;
 }
Run Code Online (Sandbox Code Playgroud)

然后通过执行以下操作创建该类的新对象:

    Member Billy = new Member();

    Billy.UserName = "Jonesy";
    Billy.FirstName = "Billy";
    Billy.LastName = "Jones";
Run Code Online (Sandbox Code Playgroud)

很好,但是如果我查询了一个数据库并找回5个成员该怎么办,我可以即时创建对象吗?还是将这些成员存储在内存中的最佳方法是什么?

我使用了VB.Net,将它们添加到数据表中。但是自从我学习C#以来,我从未真正进行过任何面向对象的编程,这是现在学习OOP的最佳时机。

Ahm*_*eed 1

如果您不使用 LINQ to SQL(或实体框架),那么使用常规的 ADO.NET DataReader您将循环遍历结果,使用详细信息实例化一个新对象,并将其添加到列表中。

大概看起来像这样:

List<Member> members = new List<Member>();
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();

    using (SqlCommand command = new SqlCommand(queryString, connection))
    {
        using (SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Member member = new Member();
                member.UserName = reader.GetString(0);
                member.FirstName = reader.GetString(1);
                member.LastName = reader.GetString(2);
                members.Add(member);
            }
        }
    }
}

foreach(Member member in members)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)