1

現在の 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式を動的に構築する方法は?

4

0 に答える 0