Entity Framework OrderBy (string)

4 באוקטובר 2013

תגיות: , ,
אין תגובות

קוד רגיל לבקשת מידע מבסיס נתונים בעזרת Entity Framework יראה כך:

Code Snippet
g1Entities model = new g1Entities();

var res = model.Persons.OrderBy(x => x.FirstName);

 

לפעמים נרצה לקבל מהמשתמש את שם העמודה לפיה למיין, במקרה כזה נוכל לכתוב כך:

Code Snippet
g1Entities model = new g1Entities();

string columnName = Console.ReadLine();

var res = model.Persons.OrderBy("it." + columnName + " asc");

כשאפשר לשלוח את המילה desc כדי לבצע מיון הפוך.

 

זה מאוד נחמד, עד שמתקדמים ל EF גרסה חדשה יותר (שעובד עם tt במקום עם יצירת קוד)

במקרה זה נצטרך לעבוד קצת יותר קשה ולקבל ObjectSet במקום DbSet

 

Code Snippet
g1Entities model = new g1Entities();

string columnName = Console.ReadLine();

IObjectContextAdapter context = model;
ObjectSet<Person> set = context.ObjectContext.CreateObjectSet<Person>();

           

var res = set.OrderBy("it." + columnName + " asc");

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *