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
Post a Comment