現在の linq 式はこちらです。これは正常に動作します
e.Result = (from d in Repository.db.Dursgals
select new
{
d.DursgalID,
d.Name,
d.PID,
d.inDate,
No = d.DursgalProps.FirstOrDefault(dp => dp.PropID == 4).IntValue,
IjCount = d.DursgalProps.FirstOrDefault(dp => dp.PropID == 32).IntValue ?? 0,
d.EzemshigchID
}).OrderBy(d => d.No)
しかし、これは不完全です。私の顧客は列を選択したい. 私はこのようにしたい
e.Result = (from d in Repository.db.Dursgals
select new
{
d.DursgalID,
d.Name,
d.PID,
d.inDate,
foreach(var col in filteredcolumns){
switch(col.ValueTypeID){
case 1:
col.Name = d.DursgalProps.FirstOrDefault(dp => dp.PropID == col.ColID).IntValue;
break;
case 2:
col.Name = d.DursgalProps.FirstOrDefault(dp => dp.PropID == col.ColID).StringValue;
break;
}
},
d.EzemshigchID
}).OrderBy(d => d.No)
このようなlinq式を動的に構築する方法は?