asp.net mvc 3 - Will the Orberby for an Icollection<> be performed on the database level or application level -


i working on asp.net mvc 3 web application , , have folloiwng model class inside .tt folder:-

public partial class patient {     public patient()     {         this.visits = new hashset<visit>();     }      public int patientid { get; set; }    //code goes here...     public virtual gender gender { get; set; }     **public virtual icollection<visit> visits { get; set; }** 

then on controller class wrote following :-

public partialviewresult showother(int id, int skip, int take )         {                 viewbag.take = take;                 patient patient = repository.getpatient(id);                **visit visit = patient.visits.orderbydescending(d => d.date).skip(skip).take(take).singleordefault();** //code goes here 

so question if wether following orderby patient.visits.orderbydescending(d => d.date).skip(skip).take(take).singleordefault(); performed on application level (which means visits object retrived database , orderby done on application level) or orderby performed on database , intended visit object passed application?

my repository.getpatient(id); method looks follow:-

 public patient getpatient(int id)         {             return entities.patients.firstordefault(d => d.patientid == id);        } 

br

once access patient.visits lazy loading load all visits application. done in application.

if want load single visit try this:

entities.contextoptions.lazyloadingenabled = false; var patient = entities.patients.firstordefault(d => d.patientid == id); var visit = ((entitycollection<visit>)patient.visists).createsourcequery()                                                       .orderbydescending(d => d.date)                                                       .singleordefault();                                                       . 

Comments