过去我已经成功创建了 edmx 文件。这是使用 EF5 和 Visual Studio 2012。我已经升级到 Visual Studio 2013 和 EF6。现有的 EF 5 代码仍然有效,但现在我遇到了问题。我可以创建 edmx 文件和一个 EntityDataSource,我可以配置数据源,它可以很好地查看表和列,但是当我尝试刷新架构时,我得到:
由于来自 EntityDataSource 的以下错误,无法确定架构:
找不到(我的类型在这里)的 CLR 类型
我在网上看到一个解决方案告诉我将我的代码生成策略更改为默认值(在 EF 5 中创建的现有 edmx 文件设置为 Legacy ObjectContext),但它不会让我这样做,因为选项“T4”是变灰。
有没有办法可以强制代码生成策略不使用 T4?
编辑:
Pawel 指出 EntityDataSource 不支持 EF 6。是否有可用的教程显示如何连接到 EF 6 的简单分步指南?我从《Beginning ASP.Net 4》一书中获得了我所有的 EF 信息,但它现在显然已经过时了。我看到 EF 6 仍处于测试阶段。也许他们会在某个阶段添加对 EntityDataSource 的支持?
编辑2:
好的,我一直在摆弄这个,我可以使用 LinqDataSource 进行连接。几天内我不会有机会玩它,但看起来这很有效。
编辑 3:
使用 LinqDataSource 不起作用。它可以执行的唯一 CRUD 操作是读取。显然必须有一种方法可以使用新的 EF 6.0 框架(Pawel 建议我使用 MVC),但他们不能完全打破我的场景(使用网站),对吗?
编辑4:
我找到了适合我的方案的解决方案,请参阅下面的答案。