Вы возвращаете анонимный тип, но он приводится к object
, блокируя прямой доступ к его использованию.
Здесь вы можете сделать несколько разных вещей.Одним из них является создание типа для этого случая:
public struct Region
{
public int RegionID{get; set;}
public string RegionName{get; set;}
}
Затем используйте select new Region{r.RegionID, r.RegionName}
в своем запросе.Это позволяет вам вернуть либо IEnumerable<Region>
, либо IQueryable<Region>
.
Еще одна вещь, которую вы можете сделать, - привести объект из перечисления к dynamic
.Затем вы можете вызывать этих членов с поздней привязкой.
Наконец, вы можете использовать подходы, основанные на отражении.Игра с объектами PropertyInfo
обычно намного сложнее, чем здесь стоит, но учтите, что это используется за кулисами с DataBinder.Eval()
, поэтому, если вы использовали свое перечисление с Repeater или подобным элементом управления, то ваш код в письменном видеотлично работает с DataBinder.Eval(Container.DataItem, "RegionID")