Getterでリストデータの絞り込みを行う

まあ、ほとんど役に立つことがないですけど・・・。

public class Cars{
    public List<Car> CarList {get;set;}
}

public class Car{
    public string Name{get;set;}
    public string BodyType{get;set;}
    public string Maker{get;set;}
}

こんな感じのモデルがあったとします。

public class SelectedMakerCars : Cars{
    public string SelectedMaker{get;set;}
    public List<Cars> SelectedMakerCarList{
        get{
            return from p in CarList where p.Maker.Contains(SelectedMaker) select p;
        }
    }
}

internal class Cars{
    public List<Car> CarList {get;set;}
}

public class Car{
    public string Name{get;set;}
    public string BodyType{get;set;}
    public string Maker{get;set;}
}

で、1層上にかぶせてやると、C#内部ではリストの全部を見ることが出来ますが、APIなどで渡してやった先では選択済みのものしか見られない(=データ量の削減になる)という物です。
Daoが触れない/触りたくないとか、C#内部で必要だけど渡す先では不要とか、すごい限られた状況下じゃないと使い道がないです。