Любой способ получить доступ к переменной типа var, определенной в коде позади, из файла aspx?

Запросы Linq хранятся в переменных типа var. Я хотел бы иметь циклы foreach в файле aspx для запросов. Default.aspx.cs:

var query = from ko in entity.Organizations select ko;

Default.aspx:

<%= foreach(var item in query)
{
    <li> item.name </li>
}%>

Обычно, если мы определяем переменную public внутри класса Page (вне метода Page_Load ()), мы можем получить к ним доступ в aspx. Но тип var не может быть определен как члены класса.

В ПОРЯДКЕ. Теперь проблема в том, как поставить "entity.Organization", где "?" является. Ошибка времени компиляции. (Контекст взят из Entity Framework).

  public partial class Default : System.Web.UI.Page
  {

    public Context entity = new Context();
    public IQueryable<?> query;
    ..
 }

person Jude    schedule 25.12.2013    source источник
comment
var не тип. Запросы LINQ имеют определенный тип, обычно IEnumerable<T> или IQueryable<T>, который вы можете полностью определить как член класса.   -  person Michael Edenfield    schedule 25.12.2013
comment
var не тип. Он просто сообщает компилятору, что это за тип для меня.   -  person Daniel Mann    schedule 25.12.2013
comment
Я бы не стал так делать, но, эй, если вы хотите, чтобы он был общедоступным, просто явно определите его как public IQueryable<Organization> query.   -  person Silvermind    schedule 25.12.2013
comment
Спасибо, парни. Я только что редактировал.   -  person Jude    schedule 25.12.2013
comment
var может быть типом, если вы объявите его как class var   -  person Yurii Hohan    schedule 25.12.2013


Ответы (1)


Entity Framework DbContext имеет коллекцию ваших сущностей, а не сам класс сущности, поэтому для его использования IQueryable это сработает.

Для вашего примера:

public IQueryable<Organization> query;
person Emad Mokhtar    schedule 25.12.2013