将DBContext转换为ObjectContext以供GridView使用 [英] Convert DBContext to ObjectContext for use with GridView

查看:190
本文介绍了将DBContext转换为ObjectContext以供GridView使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个webforms项目使用EF codefirst来保存数据。
我想使用GridView和EntityDataSource,以保存写入CRUD。
这是可能的吗?



我可以将DBContext转换为EntityDataSource预期的ObjectContext吗?



这是我尝试的:

 < asp:EntityDataSource ID =OrdersDataSourcerunat =serverContextTypeName = EntityTypeFilter =OrderEnableDelete =False
EnableUpdate =FalseInclude =OrderLinesOrderBy =it.Id >
< / asp:EntityDataSource>

< asp:GridView ID =OrdersGridViewrunat =serverAllowPaging =TrueAllowSorting =True
AutoGenerateColumns =TrueDataKeyNames =IdDataSourceID = OrdersDataSource/>

但是我收到这个例外:


无法将类型为SomeNamespace.Models.ShopDBContext的对象转换为键入System.Data.Objects.ObjectContext。



解决方案

尝试这样:

  var context = new YourDbContext(); 
var adapter =(IObjectContextAdapter)上下文;
var objectContext = adapter.ObjectContext;


I have a webforms project using EF codefirst to persist data. I'd like to use a GridView and EntityDataSource, in order to save writing CRUD. Is this possible?

Can I convert my DBContext to an ObjectContext that is expected by the EntityDataSource?

Here's what I tried:

<asp:EntityDataSource ID="OrdersDataSource" runat="server" ContextTypeName="SomeNamespace.Models.ShopDBContext" 
     EnableFlattening="False" EntitySetName="Orders" EntityTypeFilter="Order" EnableDelete="False" 
     EnableUpdate="False" Include="OrderLines" OrderBy="it.Id"> 
</asp:EntityDataSource>

<asp:GridView ID="OrdersGridView" runat="server" AllowPaging="True" AllowSorting="True" 
     AutoGenerateColumns="True" DataKeyNames="Id" DataSourceID="OrdersDataSource" /> 

However I get this exception:

Unable to cast object of type 'SomeNamespace.Models.ShopDBContext' to type 'System.Data.Objects.ObjectContext'.

解决方案

Try this:

var context = new YourDbContext();
var adapter = (IObjectContextAdapter)context;
var objectContext = adapter.ObjectContext;

这篇关于将DBContext转换为ObjectContext以供GridView使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆