Man*_*der 9 entity-framework entitydatasource entity-framework-6
我最近将我们的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之后)
任何人都可以帮忙解决这个问题吗?
Ser*_*gey 13
当我从EF 5升级到EF 6时,我刚刚完成了这个练习,我遇到了同样的错误.
这是我必须做的.
Install-Package Microsoft.AspNet.EntityDataSource
Run Code Online (Sandbox Code Playgroud)
它将在页面下的web.config中注册一个新的EntityDataSource控件:
<pages>
<controls>
<add tagPrefix="ef" assembly="Microsoft.AspNet.EntityDataSource" namespace="Microsoft.AspNet.EntityDataSource" />
</controls>
</pages>
Run Code Online (Sandbox Code Playgroud)
下一步是将现有<asp:EntityDataSource />
控件替换为<ef:EntityDataSource />
aspx页面.
最后一步是在你的代码去后面和更新EntityDataSourceContextCreatingEventArgs或任何其他类型EFContext标签的引用.
从
protected void OnContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e){... }
Run Code Online (Sandbox Code Playgroud)
至
protected void OnContextCreating(object sender, Microsoft.AspNet.EntityDataSource.EntityDataSourceContextCreatingEventArgs e){... }
Run Code Online (Sandbox Code Playgroud)
这一切都有效,我没有在程序集中引用System.Data.Entity.
归档时间: |
|
查看次数: |
12422 次 |
最近记录: |