I am doing this MyMethod with find() and same with FirstOrDefault(). The response time of both method differ. Find is slower then FirstOrDefault.
public SelectList MyMethod(Guid UID) {
List<SelectListItem> selectItems = dbContext.AppMaps.Find(UID).AppMapTerms.AsEnumerable().Select(s => new SelectListItem() {
Text = s.TermName + " (" + s.StartPeriod.ToShortDateString() + " - " + s.EndPeriod.ToShortDateString() + ")",
Value = s.UID.ToString(),
Selected = UID == s.UID ? true : false
}
).ToList();
selectItems.Insert(0, new SelectListItem() {
Text = " --Select -- ",
Value = null,
Selected = false
});
SelectList selectList = new SelectList(selectItems, "Value", "Text");
return selectList;
}
With FirstOrdefault method
public SelectList MyMethod(Guid UID) {
AppRepository oAppRepository = new AppRepository();
List<SelectListItem> selectItems = oAppRepository.AllIncluding().FirstOrDefault(e => e.UID == UID).AppTerms.AsEnumerable().Select(s => new SelectListItem() {
Text = s.TermName + " (" + s.StartPeriod.ToShortDateString() + " - " + s.EndPeriod.ToShortDateString() + ")",
Value = s.UID.ToString(),
Selected = UID == s.UID ? true : false
}
).ToList();
selectItems.Insert(0, new SelectListItem() {
Text = " --Select -- ",
Value = null,
Selected = false
});
SelectList selectList = new SelectList(selectItems, "Value", "Text");
return selectList;
}
Please Explain. Thanks