过去,我已经成功创建了edmx文件。此版本使用的是EF5和Visual Studio2012。此后,我已升级到Visual Studio 2013和EF6。现有的EF 5代码仍然有效,但是现在我遇到了问题。我可以创建edmx文件和EntityDataSource,可以配置数据源,它可以看到表和列,但是当我尝试刷新架构时,我得到了:

我已经看到一个在线解决方案,告诉我将代码生成策略更改为默认值(在EF 5中创建的现有edmx文件设置为Legacy ObjectContext),但是它不允许我这样做,因为选项'T4'是变灰。

有什么方法可以强制代码生成策略不使用T4?
编辑:
Pawel指出EntityDataSource不支持EF6。是否有可用的教程显示了如何轻松连接EF 6的分步指南?我已经从《 Beginning ASP.Net 4》一书中获得了我所有的EF信息,但是现在显然已经过时了。我看到EF 6仍处于测试阶段。也许他们会在某个阶段添加对EntityDataSource的支持?
编辑2:
好的,我已经摆弄了一下,可以使用LinqDataSource进行连接。几天之内,我将不会有太多机会玩它,但看起来像这样。
编辑3:
使用LinqDataSource不起作用。它可以执行的唯一CRUD操作是“读取”。显然,必须有一种方法来使用新的EF 6.0框架(Pawel建议我使用MVC),但是对于我的情况(使用网站),他们无法完全打破它,对吗?
编辑4:
我已经找到适合我的方案的解决方案,请参见下面的答案。

最佳答案

由于EF6中的更改,如果您在VS2012/VS2013中使用EF6,则唯一支持的生成策略是T4。您可以使用T4 templates from VS Gallery获得基于EntityObject的实体和基于ObjectContext的上下文。注意:EntityDataSource当前不支持EF6。

编辑

支持EF6的EntityDataSourceControl的预览现在为available

关于c# - 从T4更改EF 6代码生成策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19380820/

10-13 08:02