将DBContext转换为ObjectContext以供GridView使用 [英] Convert DBContext to ObjectContext for use with GridView
本文介绍了将DBContext转换为ObjectContext以供GridView使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用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屋!
查看全文