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 に答える