I am tring to put multple condition in where clause but not getting result as exprected.
what i am doing. in (LinqPad)
void Main()
{
var lst = new List<Employee>()
{
new Employee() { Name="Name1", Address="address1",Desig="Desig1"},
new Employee() { Name="Name2", Address="address2",Desig="Desig2"},
new Employee() { Name="Name3", Address="address3",Desig="Desig3"},
new Employee() { Name="Name4", Address="address4",Desig="Desig4"},
new Employee() { Name="Name5", Address="address5",Desig="Desig5"},
new Employee() { Name="Name6", Address="",Desig=""},
new Employee() { Name="", Address="",Desig="Desig4"},
new Employee() { Name="Name8", Address="address4",Desig=""}
};
var query = (from d in lst
select d).ToList();
var filter =query.Where(x=> !string.IsNullOrWhiteSpace(x.Name) && !string.IsNullOrWhiteSpace(x.Address)).ToList();
filter.Dump();
}
// Define other methods and classes here
public class Employee
{
public string Name {get;set;}
public string Address {get;set;}
public string Desig {get;set;}
}
Expected result is show the items where Name and Address are not null. but getting wrong result. which check whether Name or Address Is not null.
Result as
Name1 address1 Desig1
Name2 address2 Desig2
Name3 address3 Desig3
Name4 address4 Desig4
Name5 address5 Desig5
Name8 address4
Expected Result
Name1 address1 Desig1
Name2 address2 Desig2
Name3 address3 Desig3
Name4 address4 Desig4
Name5 address5 Desig5
Name6
Name8 address4
It seems like Where condition only parse one condition at a time. thus both of these condition treeted as Or Condition.