Simple Linq Dynamic Query question
In Linq Dynamic Query, Scott Guthrie shows an example Linq query:
var query =
    db.Customers.
    Where("City == @0 and Orders.Count >= @1", "London", 10).
    OrderBy("CompanyName").
    Select("new( CompanyName as Name, Phone)");
Notice the projection new( CompanyName as Name, Phone).  If I have a class like this:
public class CompanyContact {
    public string Name {get;set;}
    public string Phone {get;set;}
}
How could I essentially "cast" his result using the CompanyContact data type开发者_如何学JAVA without doing a foreach on each record and dumping it in to a different data structure? To my knowledge the only .Select available is the Dymanic Query version which only takes a string and parameter list.
A far as I can see from the article you cite, The dynamic query methods return IQueryable<> objects, which mean the normal Select() should be available.
var query = 
    db.Customers. 
    Where("City == @0 and Orders.Count >= @1", "London", 10). 
    OrderBy("CompanyName"). 
    Select( c => new CompanyContact {Name = c.CompanyName, c.Phone}); 
You may have to explicitly give the type for the Select
    Select<Customer>( c => new CompanyContact {Name = c.CompanyName, c.Phone}); 
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论