Gridview的简单EF查询?

时间:2011-07-29 02:14:17

标签: .net entity-framework ado.net-entity-data-model

总体新手问题 - 考虑到这个简单的实体模型,我如何设置一个简单的查询来显示gridview中的所有客户端?或者在给定范围内显示所有带拉链的客户?

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 :(得分:0)

您是否尝试过使用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以允许您设置过滤器,选择特定列等。

有很多关于这些控件的示例和提示,这些只是几个: