Простой EF-запрос для gridview? - PullRequest
0 голосов
/ 29 июля 2011

Всего вопросов новичка - учитывая эту простую модель сущностей, как мне настроить простой запрос для отображения всех клиентов в виде сетки?Или отобразить все клиенты с почтовым индексом в заданном диапазоне?

public class scheduleContext : DbContext
{
    public DbSet<client> clients { get; set; }
    public DbSet<appt> appts { get; set; }
}

public class client
{
    public int clientID { get; set; }
    public String name { get; set; }
    public String email { get; set; }    
}

public class appt
{
    public int apptID { get; set; }
    public int clientID { get; set; }
    public DateTime date { get; set; }
}

...

scheduleContext schedule = new scheduleContext();
var q = from p in schedule.appts where select p; //this throws an error

GridView1.DataSource = schedule.appts.Load(); //load what??
GridView1.DataBind();

1 Ответ

0 голосов
/ 29 июля 2011

Вы пытались использовать элемент управления EntityDataSource?Использование этого элемента управления позволяет использовать LINQ для запросов к вашей объектной модели, а также для поддержки разбиения по страницам и сортировки в виде сетки.

Давайте рассмотрим пример:

<asp:entitydatasource
    id="clientDataSource"
    contexttypename="scheduleContext.Example, Example"
    entitysetname="clients"
    runat="server" 
/>

<asp:gridview
    datasourceid="clientDataSource"
    allowpaging="true"
    allowsorting="true"
    pagesize="20"
    runat="server">

    <asp:boundfield datafield="name" headertext="Name" sortexpression="name" />
    <asp:boundfield datafield="email" headertext="Email" sortexpression="email" />
</asp:gridview>

Существует множество различных способов настройки EntityDatasource , чтобы позволить вам устанавливать фильтры, выбирать определенные столбцы и т. Д.

Существует множество примеров и советов, касающихся этих элементов управления. Вот лишь некоторые из них:

...