LISTING 1.2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace DynamicLINQ
{
class Program
{
static void
{
IQueryable<Person> persons = new List<Person>{
new Person{PersonID=1, CompanyID=1, FirstName="John", LastName="Smith"},
new Person{PersonID=2, CompanyID=1, FirstName="Sam", LastName="Jones"},
new Person{PersonID=3, CompanyID=1, FirstName="Jean", LastName="Smith"},
new Person{PersonID=4, CompanyID=2, FirstName="Samantha", LastName="Maples"},
new Person{PersonID=5, CompanyID=1, FirstName="Tom", LastName="Brown"}
}.AsQueryable();
List<FileFormat> fileFormat =
(from p in persons
where p.CompanyID == 1
select new FileFormat
{
PersonID = p.PersonID,
CompanyID = p.CompanyID,
FirstName = p.FirstName,
LastName = p.LastName
}).ToList();
Console.WriteLine(fileFormat.Count.ToString());
Console.ReadLine();
}
}
public class Person
{
public int PersonID { get; set; }
public int CompanyID { get; set; }
public string FirstName { get;set; }
public string LastName { get;set; }
}
public class FileFormat
{
public int PersonID { get; set; }
public int CompanyID { get; set; }
public string FirstName { get;set; }
public string LastName { get;set; }
public int CoverageID { get;set; }
public int ProductID { get; set; }
public double CoverageAmount { get;set; }
public double CoverageCost { get;set; }
public DateTime CoverageDate { get;set; }
The output from Listing 1.2 is 4 since PersonID 4 is eliminated by the LINQ query.
No comments:
Post a Comment