0
私は私がViewBag経由でビューに渡すドロップダウンリストを持っている:EF関連データのドロップダウンリスト
ViewBag.RoomTypeID = new SelectList(db.RoomType, "ID", "Type");
これは明らかに正常に動作しますが、私はもう少し複雑な何かをしたい、とに苦労しています始める場所を見つけてください。
最終的には、まだ割り当てられていないルームタイプ(COUNT = 0)だけを別のテーブルに表示するようにします。私のモデルは以下のとおりです。
public class RoomType
{
[Key]
public int ID { get; set; }
[Display(Name = "Room Type")]
public string Type { get; set; }
public virtual ICollection<Room> Rooms { get; set; }
}
と...
public class Room
{
[Key]
public Guid ID { get; set; }
[Required]
public int PropertyID { get; set; }
[Required]
public int RoomTypeID { get; set; }
//other properties removed for brevity
public virtual RoomType RoomType { get; set; }
public virtual Property Property { get; set; }
}
私の財産のIDが100であると仮定すると、私は唯一のpropertyIDと余裕がありませんドロップダウンリスト、部屋のタイプを表示したいです100と同じ部屋タイプです。私がしようとしている何
はこれです:
ViewBag.RoomTypeID = new SelectList(db.RoomType.Where(r => r.ID = (db.Rooms.Where(r => r.PropertyID == 1))) , "ID", "Type");
が、私はint型のリストに変換する必要があると思いますか?
おかげで、ギャビン
ですが、roomTypeエンティティにはPropertyIDは含まれていませんか?何か追加の読書の後、それはちょうど私が必要なものを与えるかもしれません。 – Gavin5511
私の悪い@ Gavin5511私は2つの選択肢で私の答えを更新しました –
オプション1はコンパイルされていないようです。エラーは「メソッドのオーバーロードがありません」「どこで3つの引数を取るか」 – Gavin5511