I might be misunderstanding something about ViewModels here (I'm new to them), but is it a bad practice to pass a static Get method an IQueryable? I haven't tried this, so I'm not sure if it'll even work, but this is a larger question about the usage of ViewModels.

For example:

using (var db = something.Invoke()) {
    var query = some query;
    var data = MyViewModel.Get(query); //pass an IQueryable

    //do something with data
}

class MyViewModel {
    public List&lt;int&gt; Something {get; set;}

    public static MyViewModel Get(IQueryable data) {
        var view = new MyViewModel();
        var list = new List&lt;int&gt;();
        foreach (var d in data) {
            list.Add(d.Column);
        }
        view.Something = list;
        return view;
    }
}


It would just seem really redundant to have to map my database to a more generic data structure and then pass that to my ViewModel to do another mapping (like database -> List -> ViewModel). It would be easier if I could just pass in my query and have 100% of the mapping take place in the ViewModel, instead of having that inbetween step (database -> ViewModel).


Question: Do Not Track header
Answer: We do not do anything special for the proposed spec. There is no requirement anywhere that we implement anything. A bill may be passed in congress one day, who knows. 

If this proposal gains tons of traction and the industry starts following this practice we will stop serving the quantcast and google analytics tracking if the header is present. 

Keep in mind, the proposal says nothing about internal tracking, its about 3rd parties. You will not be able to use this header to hide your tracks we will always continue storing every hit to our sites in our mega haproxy database.