ViewModelsへのどちらのアプローチが優れているか: 1。ViewModelにを入れて、ビューのプロパティにアクセスする
だけです。ICollection<T>
これは、次のようにASP.NETフォームで行うこととほぼ同じです。
public ICollection<Order> Orders {get; set;}
ビューで私はこのようなことをするように
@if(Model.Orders.Count > 0){
または2.ICollection
のプロパティを作成してCount
、ビューがその値を直接参照できるようにします。
public ICollection<Order> Orders { get; set; }
public int OrderCount { get { return Orders.Count ; } }
そしてビューで
@if(Model.OrderCount > 0) {
HasOrders
または、ビューのロジックをさらに減らすためのブールプロパティですか?
編集
コメントに少し驚いています。これは主観的なものだと思いますが、日付に文字列プロパティを使用するかどうかについての質問もあり、誰もがどこかで学習を開始する必要があります。
プロパティを何度も使用できOrderCount
ますか?次にif
、実際のカウントを表示するラベル。そのため、お客様のメールアドレスを言うよりも頻繁に使用されますが、誰かがそれを提案した場合、私は驚かれることでしょう
public string Email { get; set; }
物事をやりすぎていました。
質問に少し焦点を合わせ直そうとするため。私が判断しようとしているのは、ViewModelがビューに必要なすべての単純なプロパティを提供する必要があるかどうかです。したがってModel.Orders
、カウントにアクセスするためにに手を伸ばす必要はありません。ビューを純粋に保ち、ロジック/「プログラミング」から解放する必要があります