Click here to Skip to main content
13,044,428 members (115,744 online)
Click here to Skip to main content

Stats

66.6K views
43 bookmarked
Posted 3 Mar 2009

Tips for LINQ: Fill any generic List from a DataTable

, 3 Mar 2009
This article shows how to populate any generic list from a DataTable.
FromDataTableToGenericListExample
bin
Release
FromDataTableToGenericListExample.exe
FromDataTableToGenericListExample.vshost.exe
FromDataTableToGenericListExample.vshost.exe.manifest
Data
Database
FromDataTableToGenericListExample.csproj.user
Process
Properties
Scripts
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace FromDataTableToGenericListExample
{
    public class TestExample
    {
        public void StartExample()
        {
            string servername = "MYPC\\SQLDES";
            string dabasename = "test";
            string user = "myuser";
            string password = "mypass";

            List<Employee> Employees = null;
            List<Client> Clients = null;
            DataTable dEmployees = new DataTable();
            DataTable dClients = new DataTable();
            
            //Connect to the database
            if (SqlDataBase.Connect(servername, dabasename, user, password) == true)
            {
                //Get the first DataTable
                string sqlEmployees = "SELECT NAME,DEPARTMENT,SALARY FROM EMPLOYEES";
                dEmployees = SqlDataBase.ReturnDataTable(sqlEmployees);

                //Fill the first generic List with the DataTable values
                DataFiller<Employee> dtfEmployee = new DataFiller<Employee>();
                Employees= dtfEmployee.FromDataTableToList(dEmployees);

                //Get another DataTable
                string sqlClients = "SELECT ID,NAME,COUNTRY,ADDRESS FROM CLIENTS";
                dClients = SqlDataBase.ReturnDataTable(sqlClients);

                //Fill another generic List with the DataTable values
                DataFiller<Client> dtfClient = new DataFiller<Client>();
                Clients = dtfClient.FromDataTableToList(dClients);

                //Disconnect
                SqlDataBase.Disconnect();
            }

            //Linq Dummy Example
            Employee employee = (from e in Employees
                    where e.Name == "Mary"
                    select e).First();

            Console.WriteLine("The salary is: " + employee.Salary.ToString());

            Client client = (from c in Clients
                             where c.Country == "Polony"
                             select c).First();

            Console.WriteLine("The name is: " + client.Name.ToString());
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Santiago Sanchez
Software Developer
Spain Spain
I´ve been working with Oracle, Sql Server and Visual Basic 6 since 2003 and with C# since 2006. Now I´m fighting with Biztalk 2006 too...

MCTS - .NET Framework 4, Windows Applications
MCTS - Accessing Data with .NET Framework 4

You may also be interested in...

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170713.1 | Last Updated 3 Mar 2009
Article Copyright 2009 by Santiago Sanchez
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid