How does Select statement works in a Dynamic Linq Query?

Posted by Richard77 on Stack Overflow See other posts from Stack Overflow or by Richard77
Published on 2010-04-01T03:30:26Z Indexed on 2010/04/01 3:33 UTC
Read the original article Hit count: 322

Filed under:
|

Hello,

1) I've a Product table with 4 columns: ProductID, Name, Category, and Price. Here's the regular linq to query this table.

public ActionResult Index()
{
  private ProductDataContext db = new ProductDataContext();
  var products = from p in db.Products
                 where p.Category == "Soccer"
                 select new ProductInfo { Name = p.Name, Price = p.Price}
  return View(products);
}

Where ProductInfo is just a class that contains 2 properties (Name and Price). The Index page Inherits ViewPage - IEnumerable - ProductInfo. Everything works fine.

2) To dynamicaly execute the above query, I do this:

Public ActionResult Index()
{
  var products =
                 db.Products
                 .Where("Category = \"Soccer\"")
                 .Select(/* WHAT SOULD I WRITE HERE TO SELECT NAME & PRICE?*/)
  return View(products);
}

I'm using both 'System.Lind.Dynamic' namespace and the DynamicLibrary.cs (downloaded from ScottGu blog).

Here are my questions:

  1. What expression do I use to select only Name and Price?
  2. (Most importantly) How do I retrieve the data in my view? (i.e. What type the ViewPage inherits? ProductInfo?)

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about linq-to-sql