0

我有一个视图模型:

public class RatesViewModel
{
    public string RoomName { get; set; }
    public string TypeName { get; set; }
    public long TypeID { get; set; }
    public int TypeCount { get; set; }
    public virtual IQueryable<Occ> Occs { get; set; }

}
public class Occ
{
    public string occ { get; set; }
    public decimal ratetocharge { get; set; }
    public int numOfOcc { get; set; }
    public virtual RatesViewModel RatesViewModel { get; set; }
}

这填充了一个变量“房间”。

根据某些情况,我想更新 Occ.ratetocharge - 例如,将它们全部更改为扣除 50:

  foreach (var r in rooms)
        {
        // do a query which looks up a value from another table
        if (conditionMet == true)
        {
             r.Occs.ratetocharge = r.Occs.ratetocharge - 50;
        }
        }

然而,

r.Occs.ratetocharge

……不允许。所以我想知道如何更新ratetocharge?我的视图模型设置是否错误,还是有更好的方法来实现我想要实现的目标?

谢谢你的任何建议,

标记

4

2 回答 2

1

您应该使用索引号

  r.Occs[Index].ratetocharge - 50;

或使用循环

foreach (var r in rooms)
        {
        // do a query which looks up a value from another table
        if (conditionMet == true)
           {
       foreach(Occ occ in r.Occs)
           {
         occ.ratetocharge = occ.ratetocharge - 50;
           }       
          }
        }
于 2013-03-15T15:02:40.423 回答
1

你必须做这样的事情

if (conditionMet == true)
{
    foreach(Occ occ in r.Occs)
    {
        occ.ratetocharge = occ.ratetocharge - 50;
    }
}
于 2013-03-15T15:01:31.483 回答