//Fixing: Eager Loading, Iteration using Foreach loop (Deffered Execution) public JsonResult EagerLoadingForeach() { var context = new OrdersContext(); var products = context.Products.Include(x => x.Category); //check SQL Profiler here var productDcs = new List <ProductDC>(); foreach (var x in products) { var product = new ProductDC { ProductId = x.ProductId, ProductName = x.ProductName, Category = new CategoryDC { CategoryId = x.Category.CategoryId, CategoryName = x.Category.CategoryName } }; productDcs.Add(product); //check SQL Profiler here } return(Json(productDcs, JsonRequestBehavior.AllowGet)); }
public JsonResult ExplicitlyLoadingForSingleEntity() { var context = new OrdersContext(); var product = context.Products.Find(1); context.Entry(product).Reference(p => p.Category).Load(); var productDc = new ProductDC { ProductId = product.ProductId, ProductName = product.ProductName, Category = new CategoryDC() { CategoryId = product.Category.CategoryId, CategoryName = product.Category.CategoryName } }; return(Json(productDc, JsonRequestBehavior.AllowGet)); }