如何将EF Code First DbContext绑定到Asp.Net DataSource?
我创建了以下Context
以与Entity Framework Code First一起使用 :
public class Context : DbContext { public DbSet Animals { get; set; } }
现在我想在Asp.Net应用程序中使用此Context
来使用GridView
执行CRUD操作。 我需要创建一个DataSource
来进行数据绑定。 我该怎么办?
ASP部分看起来像这样:
您可以使用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
之间建立桥梁,但这可能更复杂,特别是如果你想要双重数据绑定。