我有一个使用EF codefirst的webforms项目来保存数据.我想使用GridView和EntityDataSource,以节省写入CRUD.这可能吗?
我可以将我的DBContext转换为EntityDataSource所期望的ObjectContext吗?
这是我试过的:
<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" />
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
无法将类型为"SomeNamespace.Models.ShopDBContext"的对象强制转换为"System.Data.Objects.ObjectContext".
gridview entitydatasource ef-code-first entity-framework-4.1
我最近将我们的Webforms应用程序从EF 4.4升级到EF6,并且我使用Entity Datasource控件获得了很多编译时构建错误.通常,我在尝试访问上下文对象时会出现这些错误:
e.Context
Run Code Online (Sandbox Code Playgroud)
我遵循了以下相同的演练:http://entityframework.codeplex.com/wikipage?title = Updating%20Applications%20to%20use%20EF6
出现的错误信息是:
1)模块System.Data.Entity.应引用version ="4.0.0.0"
2)类型System.Data.Objects.ObjectContext的case表达式不能键入ObjectContext(在显式类型转换为System.Data.Entity.Core.Objects.ObjectContext之后)
任何人都可以帮忙解决这个问题吗?
我使用ASP.NET Webforms和Entity Framework 4,这是我的.edmx
文件截图,因为我不知道在这里发布什么代码:
这是我的web.config文件中的连接字符串:
<add name="tebimir_db_tebimEntities"
connectionString="metadata=res://*/DataAccessLayer.tebimir_db_tebim.csdl|res://*/DataAccessLayer.tebimir_db_tebim.ssdl|res://*/DataAccessLayer.tebimir_db_tebim.msl;provider=System.Data.SqlClient;provider connection string="data source=tebim.ir,9993;initial catalog=tebimir_db_tebim;persist security info=True;user id=tebimir_dbadmin;password=qwerty*2607548;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
我的.edmx
文件位于一个名为的文件夹中DataAccessLayer
.当我使用实体框架时,它工作正常,没有问题,但只有当我创建一个entityDataSource
控件并想要分配.edmx
给它时,我得到一个错误,无法找到元数据,否则它可以正常工作.
我的意思是我可以使用Entity Framework访问数据.我检查了堆栈溢出相关的所有问题,但找不到答案.请帮忙.
这些是附加信息,以防它可以帮助您: