我是 Entity Framework 4.1 的新手,我真的很想为我的模型转换到 POCO 类。我发现使用安装 EF 4.1 时提供的“DbContext Generator”项非常容易。它完全按照我的意愿执行,并为我现有的 EDMX 模型生成了 DbContext 对象和所有 POCO。
我运行了该应用程序并测试它仍然可以工作。它是。我对此很满意,删除了 EDMX 文件和 T4 模板,并开始重新组织我的新 POCO。然而,在让它再次正确构建后,我遇到了运行时问题。实例化 DbContext 时,它无法找到元数据文件:.csdl、.ssdl 和 .msl(我真的不知道它们是什么,只是知道它们是所有 EF 连接字符串的一部分)。
放回我的 EDMX 后,它再次运行良好。我真的不再需要 EDMX 文件了。我真的很想坚持使用 POCO 类,而忘记 EDMX 曾经存在过;特别是因为我不希望它运行那些 T4 模板并重新生成我的 POCO。
我有四个相关问题:
- 为什么我必须将 edmx 保留在我的项目中?
- 有解决方法吗?
- 当您使用 EF 4.1 执行真正的“代码优先”时会发生什么?它从哪里获取这些元数据文件?
- 这些元数据文件到底是什么?
最佳答案
你应该read this 。它描述了不同的项目类型。
简短的回答是,使用 dbcontext 生成器时需要 .edmx 文件。如果您想使用代码优先,则必须手动描述模型或使用 Entity Framework 强大工具 CTP1 对代码优先模型进行逆向工程。
关于c# - Entity Framework 4.1 DbContext 生成器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578610/