آموزش استفاده از LINQ در DataSet

LINQ در DataSet

در این مقاله میخواهیم با هم روش استفاده از LINQ query و query زدن به داده های dataset را بیاموزیم. برای آموزش استفاده از LINQ در Dataset با من همراه باشید … میخواهم در زیر نکاتی  را توضیح بدهم. همه ی نکات را در یک مثال توضیح داده ام و در انتها نیز دمو را برای دانلود قرار داده ام. امیدوارم از آن استفاده کنید

LINQ در DataSet

Projection Operator.

الف ) Select : این یکی از Projection operator ها است که یک مقدار را از یک کالکشن انتخاب میکند.

در مثال آورده شده data source من یک dataset است. احتیلج دارم که هم اصطلاح lambda و هم query ساده را توضیح دهم.

۱ – در اینجا یک query ساده همانند یک مثال SQL query است (Select * from tablename) :

var data = from s in MyData().Tables[0].AsEnumerable()
(۲)                        select s;
(۳)             foreach (var mydata in data)
(۴)             {
(۵)                 Console.WriteLine("EmployeeID:" + mydata["Employeeid"] + "," + "Name:" + mydata["Name"] +
             "Gender:" + mydata["Gender"] + ",Age:" + 
               mydata["Age"] +
(۶)                     ",Qualification:" + mydata["Qualification"] + ",FatherName:" + mydata["FatherName"] + ",Address:"
                    + mydata["Address"] + Environment.NewLine);

 

۲ – در اینجا همه ی داده ها را با استفاده از اصطلاح lambda انتخاب کرده ام.

Console.WriteLine("-----------Simple Query to=>select all column data using Lambda Expression of linq----------------");
            var data2 = MyData().Tables[0].AsEnumerable().Select(k => k);
            foreach (var mydata in data2)
            {
                Console.WriteLine("EmployeeID:" + mydata["Employeeid"] + "," + "Name:" + mydata["Name"] + "Gender:"
               + mydata["Gender"] + ",Age:" + mydata["Age"] +
                    ",Qualification:" + mydata["Qualification"] + ",FatherName:" + mydata["FatherName"] + ",Address:" +
                  mydata["Address"] + Environment.NewLine);
            }

 

۳ – در اینجا یک ستون مشخص انتخاب میکنیم همانند SQL query (Select Column1,column2 from tablename) :

//Like Sql query =>select columnname1,columnname2 from tablename
            Console.WriteLine("--------------------------Simple Query to=> select specific column data--
            ------------------
            --------");
            var data1 = from p in MyData().Tables[0].AsEnumerable()
                        select new { Employeeid = p["Employeeid"].ToString(), Name = p["Name"].ToString() };
            foreach (var mydata1 in data1)
            {
                Console.WriteLine(mydata1.Employeeid + "," + mydata1.Name);
            }

 

۴ – در اینجا قصد دارم که query بالا را به lambda تبدیل کنیم.

//Using Lambda expression=>Like Sql query =>select columnname1,columnname2 from tablename
            Console.WriteLine("-----------Simple Query to=>select all column data using Lambda Expression of linq---
            -------------");
            var data3 = MyData().Tables[0].AsEnumerable().Select(k => new { Employeeid = k["Employeeid"], Name
           = k["Name"] });
            foreach (var mydata1 in data3)
            {
                Console.WriteLine(mydata1.Employeeid + "," + mydata1.Name);
            }

 

۵ – در اینجا طریقه ی تبدیل یک مورد SQL به LINQ را توضیح میدهم :

//Using Lambda expression=>Like Sql query=>use case  in Sql query
            //=>select columnname1,columnname2,case when columnname3 = 1 then 'Female' when columnname3
           = ۲ then 'Male' from tablename
            Console.WriteLine("-----------Simple Query to=>select all column data using Lambda Expression of linq----------------");
            var data4 = MyData().Tables[0].AsEnumerable().Select(k => new
            {
                Employeeid = k["Employeeid"],
                Name = k["Name"],
                Gender = k["Gender"].ToString() == "1" ? "Female" : k["Gender"].ToString() == "2" ? "Male" : ""
 
            });
            foreach (var mydata1 in data4)
            {
                Console.WriteLine(mydata1.Employeeid + "," + mydata1.Name + "," + mydata1.Gender);

 

امیدوارم از خواندن این مقاله لذت برده باشید !
موفق باشید !

داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.