I have a model:
class ColumnItsValues
{
public int PropertyID { get; set; }
public string ColumnName { get; set; }
public string ValueOfColumn { get; set; }
}
two collections:
List<ColumnItsValues> listColumns = new List<ColumnItsValues>()
{
new ColumnItsValues() {ColumnName="GUID", PropertyID=0, ValueOfColumn=null },
new ColumnItsValues() {ColumnName="Name", PropertyID=1, ValueOfColumn=null },
new ColumnItsValues() {ColumnName="Reference", PropertyID=2, ValueOfColumn=null },
new ColumnItsValues() {ColumnName="Group", PropertyID=3, ValueOfColumn=null },
};
List<ColumnItsValues> listValues = new List<ColumnItsValues>()
{
new ColumnItsValues() {ColumnName=null, PropertyID=1, ValueOfColumn="An user" },
new ColumnItsValues() {ColumnName=null, PropertyID=2, ValueOfColumn="LIST of USERS" },
new ColumnItsValues() {ColumnName=null, PropertyID=3, ValueOfColumn="False" },
new ColumnItsValues() {ColumnName=null, PropertyID=0, ValueOfColumn=" " },
};
That's my linq query:
var fooColl = from columns in listColumns join values in listValues
on columns.PropertyID equals values.PropertyID
select new { AColumn = columns.ColumnName, AValue = values.ValueOfColumn };
My question are:
- in my view, I should use
where
operator, but I useequals
. Is it correct? - Could you advice me more high-performance query?