Take a look at my code here:
public static ItemType GetItem(int id) { ItemType it = new ItemType(); using (var context = matrix2.matrix2core.DataAccess.Connection.GetContext()) { var q = (from ci in context.Item where ci.ID == id let TemplateID = ci.TemplateID let Groups = from x in context.CriteriaGroup where x.TemplateID == TemplateID select new { x } let CriteriaItems = from x in context.CriteriaItem where Groups.Select(y => yxID).Contains(x.CriteriaGroupID) select new { x } select new { ci.ID, ci.Name, ci.CategoryID, ci.Description, ci.ItemValue, TemplateID, Groups, CriteriaItems, ItemValues = from x in context.ItemValue where x.ItemID == id select new { x, CriteriaID = x.CriteriaItem.Criteria.ID } }).FirstOrDefault(); if (q != null) { it.ID = q.ID; it.CategoryID = q.CategoryID; it.Name = q.Name; it.TemplateID = q.TemplateID; it.Description = q.Description; it.CriteriaGroups = new List<CriteriaGroupType>(); it.CriteriaItems = new List<CriteriaItemType>(); it.ItemValues = new List<ItemValueType>(); foreach (var x in q.ItemValues) { ItemValueType ivt = new ItemValueType(); ivt.CriteriaItemID = xxCriteriaItemID; ivt.CriteriaID = x.CriteriaID; ivt.Data = xxData; ivt.ID = xxID; ivt.ItemID = xxItemID; it.ItemValues.Add(ivt); }
Instead of letting SQL handle sorting (OrderBy), I wanted asp.net to do sorting. I took the sort from the SQL linq query and put it in the foreach loop. When I did this, I got an error. Is there any way to fix this?
c # linq entity-framework
Luke101
source share