Я использую 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 в результате. Есть ли лучший способ получить ProductCategory.Name в результате с помощью Dynamic Expression API? Может ли кто-нибудь помочь?
Проблема VS intellisense не подбирала. Я предположил это, потому что в запросе используется Dynamic Expression API, который использует строковое значение. Любая подсказка? – Seecott
@Seecott - Ты прав. VS не заберет их. Взгляните сюда: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx –
Я посмотрел у него раньше. Нет ответа. Кто-нибудь знает, как или есть образец кода, чтобы получить свойства элемента? – Seecott