7

我创建了以下内容Context以与Entity Framework Code First一起使用:

public class Context : DbContext
    {
        public DbSet<Animal> Animals { get; set; }
    }

现在我想Context在 Asp.Net 应用程序中使用它来使用GridView. 我需要创建一个DataSource来做数据绑定。我该怎么办?

ASP 部分如下所示:

<asp:GridView runat="server" DataSourceID="animalDataSource" DataKeyNames="AnimalID" AutoGenerateColumns="false">   
    <Columns>
        <asp:BoundField DataField="Description" HeaderText="Description" />
        <asp:CommandField ShowCancelButton="true" ShowEditButton="true" ShowDeleteButton="true" />
    </Columns>
</asp:GridView>
4

1 回答 1

11

您可以将EntityDataSource其用作您的源并为事件GridView实现处理程序:ContextCreating

protected void DataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e)
{
    var context = new Context();
    e.Context = ((IObjectContextAdapter)context).ObjectContext;
}

然后只需要在页面中配置数据源即可。EntitySetName应该希望与您DbSet在上下文中公开的属性名称相同。

另一种方法是使用ObjectDataSource它将在和之间架起一座桥梁GridViewDbSet<Animal>但这可能会更复杂,特别是如果您想要双向数据绑定。

于 2011-06-13T10:31:20.700 回答