Creating a C # object from datatable

I just go down in C #. I created classes and objects, so I’ll say that I created a class called Member:

 public class Member
 {
     public int MemberID;
     public string FirstName;
     public string LastName;
     public string UserName;
 }

and I create a new object of this class by doing this:

    Member Billy = new Member();

    Billy.UserName = "Jonesy";
    Billy.FirstName = "Billy";
    Billy.LastName = "Jones";

That everything is fine, but what if I requested a database and got 5 members, can I create objects on the fly? Or what is the best way to store these elements in memory?

I used VB.Net, wherever I just added them to the datatable. But I have never done object oriented programming before and thought, since I am learning C #, now is the best time to learn OOP.

+3
source share
4 answers

LINQ to SQL ( Entity Framework), 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
}
+1

. , : Linq To Sql! : http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

, , , . - .

, "SubmitChanges()". , , Linq , .

+1

LINQ to SQL. , , :

Member member = db.Members.Single(member => member.UserName == "Jonesy");

:

IQueryable<Member> members = db.Members
    .Where(member => member.LastName == "Jones");

LINQ to SQL .

+1

Linq2Sql, , , , , . EF, .

db4o .., poco .

0

Source: https://habr.com/ru/post/1738887/


All Articles