gpt4 book ai didi

c# - 如何将 EF Code First DbContext 绑定(bind)到 Asp.Net 数据源?

转载 作者:太空狗 更新时间:2023-10-29 20:08:31 24 4
gpt4 key购买 nike

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

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

现在我想在 Asp.Net 应用程序中使用此 Context 来使用 GridView 执行 CRUD 操作。我需要创建一个 DataSource 来进行数据绑定(bind)。我该怎么办?

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>

最佳答案

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

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

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

其他方法是使用 ObjectDataSource这将在GridView之间架起一座桥梁和 DbSet<Animal>但这可能会更复杂,特别是如果您需要双向数据绑定(bind)。

关于c# - 如何将 EF Code First DbContext 绑定(bind)到 Asp.Net 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com