using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; //csc IEnumerable_IQueryable3.cs namespace ConsoleApplication1 { class ObjectFacotry { public int empno { get; set; }// Properties public String ename { get; set; } public String job { get; set; } public int manager { get; set; } public String hiredate { get; set; } public double sal { get; set; } public double Comm { get; set; } public int deptno { get; set; } public List cEmp() { return new List { new ObjectFacotry { empno =7369, ename="SMITH ", job="CLERK ", manager= 7902, hiredate="1980-12-17",sal = 800 ,Comm= 00.00 , deptno= 20}, new ObjectFacotry { empno =7499, ename="ALLEN ", job="SALESMAN", manager= 7698, hiredate="1981-02-20",sal = 1600 ,Comm= 300.00 , deptno=30}, new ObjectFacotry { empno =7521, ename="WARD ", job="SALESMAN", manager= 7698, hiredate="1981-02-22",sal = 1250 ,Comm= 500.00 , deptno=30}, new ObjectFacotry { empno =7566, ename="JONES ", job="MANAGER ", manager= 7839, hiredate="1981-04-02",sal = 2975 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7654, ename="MARTIN ",job="SALESMAN", manager= 7698, hiredate="1981-09-28",sal = 1250 ,Comm= 1400.00, deptno=30}, new ObjectFacotry { empno =7698, ename="BLAKE ",job="MANAGER ", manager= 7839, hiredate="1981-01-05",sal = 2850 ,Comm= 00.00 , deptno= 30}, new ObjectFacotry { empno =7782, ename="CLARK ",job="MANAGER ", manager= 7839, hiredate="1981-06-09",sal = 2450 ,Comm= 00.00 , deptno=10}, new ObjectFacotry { empno =7788, ename="SCOTT ",job="ANALYST ", manager= 7566, hiredate="1987-04-19",sal = 3000 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7839, ename="KING ",job="PRESIDENT",manager= 0000, hiredate="1981-11-17",sal = 5000 ,Comm= 00.00 , deptno=10}, new ObjectFacotry { empno =7844, ename="TURNER ",job="SALESMAN", manager= 7698, hiredate="1981-09-08",sal = 1500 ,Comm= 00.00 , deptno=30}, new ObjectFacotry { empno =7876, ename="ADAMS ",job="CLERK " , manager= 7788, hiredate="1984-07-13",sal = 1100 ,Comm= 00.00 , deptno= 20}, new ObjectFacotry { empno =7900, ename="JAMES ",job="CLERK " , manager= 7698, hiredate="1981-06-09",sal = 950 ,Comm= 00.00 , deptno=30}, new ObjectFacotry { empno =7902, ename="FORD ",job="ANALYST ", manager= 7566, hiredate="1981-12-03",sal = 3000 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7934, ename="MILLER ",job="CLERK ", manager= 7782, hiredate="1982-01-23",sal= 1300 ,Comm= 00.00 , deptno= 10}, }; } } class Program { static void Main(string[] args) { ObjectFacotry of1 = new ObjectFacotry(); // // Ready to iterate //Line-UP First then query IEnumerable iq1 = of1.cEmp().AsEnumerable().Take(3);//.AsQueryable(); IQueryable iq2 = of1.cEmp().AsEnumerable().AsQueryable(); IQueryable iq2A = of1.cEmp().AsEnumerable().AsQueryable().Take(3); // var iq4 = of1.cEmp().AsEnumerable().AsQueryable().Select(e => e.job).Take(5); var iq5 = iq2.Where(e => e.job == "MANAGER ").Select(e => e.job).Take(2); Console.WriteLine("- IEnumerable--iq1=of1.cEmp().AsEnumerable().Take(3);--"); foreach (var v1 in iq1) { Console.WriteLine(v1.empno + " :" + v1.ename + " :" + v1.job + " :" + v1.sal); } Console.WriteLine("- IQueryable--iq2 = of1.cEmp().AsEnumerable().AsQueryable();--"); foreach (var v1 in iq2) { Console.WriteLine(v1.empno + " :" + v1.ename + " :" + v1.job + " :" + v1.sal); } Console.WriteLine("--IQueryable--iq2A=of1.cEmp().AsEnumerable().AsQueryable().Take(3)--"); foreach (var v1 in iq2A) { Console.WriteLine(v1.empno + " :" + v1.ename + " :" + v1.job + " :" + v1.sal); } Console.WriteLine("Count :" + iq2A.Count()); // Console.WriteLine("iq4= of1.cEmp().AsEnumerable().AsQueryable().Select(e => e.job).Take(5)"); foreach (var v1 in iq4) { Console.WriteLine(v1); } Console.WriteLine("Count :" + iq4.Count()); Console.WriteLine("----iq5 = iq2.Where(e => e.job == 'MANAGER ').Select(e => e.job).Take(2)--"); foreach (var v1 in iq5) { Console.WriteLine(v1); } Console.WriteLine("Count :"+ iq5.Count()); Console.ReadLine(); } } }