我使用动态表达式API(System.Linq.Dynamic
)和LINQ to Entities。我的LINQ查询如下。使用动态表达式API选择匿名类型
var query = this.db.Products.AsQueryable()
.Where(strCondition)
.OrderBy("ProductNumber")
.Select("new(ProductNumber, ProductDescription, ProductCategory.Name)");
既然我有“查询”,我不知道如何获得每个字段的值。
string strTemp;
foreach (var item in query)
{
strTemp = item.?
}
它是匿名类型,所以我不能真正使用强类型来获取值。我能做什么?我选择获取匿名类型字段的原因是因为我需要将ProductCategory.Name字段放入结果中。使用Dynamic Expression API的结果中有没有更好的方法来获取ProductCategory.Name?谁能帮忙?
问题是VS智能感知没有拿起它。我假定它是因为查询使用的是使用字符串值的动态表达式API。任何线索? – Seecott 2010-10-29 17:22:05
@Seecott - 你说得对。 VS不会接他们。看看这里:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx – 2010-10-29 20:24:08
我看过在它之前。没有答案。有谁知道如何或有一个示例代码来获取项目属性? – Seecott 2010-10-29 20:39:10