venerdì 27 agosto 2010

LINQ to Entities - Condizione Where con lambda expressions

C# 4.0


In una query LINQ si presenta talvolta la necessità di aggiungere in modo condizionato uno o più parametri di ricerca in modo tale da creare una clausola Where pertinente.

Si può quindi procedere nel seguente modo utilizzando delle lambda expressions, dove in questo caso i parametri di ricerca sono rappresentati da code e salesDriveCode :

using (OrangeRepositoryEntities dcOrangeRepository = new OrangeRepositoryEntities())

{

var query =

from p in dcOrangeRepository.Promotion

select p;



if (!string.IsNullOrEmpty(code))

query = query.Where(p => p.Code.Contains(code));



if (!string.IsNullOrEmpty(salesDriveCode))

query = query.Where(p => p.SalesDriveCode.Contains(salesDriveCode));



foreach (var promotion in query)

{



}

}