c# - Entity Framework 4.1 DbContext 生成器问题

标签 c# .net entity-framework entity-framework-4.1 poco

我是 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。

我有四个相关问题:

  1. 为什么我必须将 edmx 保留在我的项目中?
  2. 有解决方法吗?
  3. 当您使用 EF 4.1 执行真正的“代码优先”时会发生什么?它从哪里获取这些元数据文件?
  4. 这些元数据文件到底是什么?

最佳答案

你应该read this 。它描述了不同的项目类型。

简短的回答是,使用 dbcontext 生成器时需要 .edmx 文件。如果您想使用代码优先,则必须手动描述模型或使用 Entity Framework 强大工具 CTP1 对代码优先模型进行逆向工程。

关于c# - Entity Framework 4.1 DbContext 生成器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578610/

相关文章:

ASP.NET MVC 4 - 在编辑和保存数据时如何使用 View 模型

c# - 对所有实体使用全局查询过滤器

c# - 选择方阵对角线上的单元格(按钮)

c# - 我试图从我的 xamarin 项目的 azure 数据库取回数据

c# - Json.Net - 序列化 "compressing"?

c# - 使 ScaleTransform 从中心而不是左上角开始

c# - 使用现有数据库时 Entity Framework 代码优先的好处

c# - 如何在启用分区的情况下接收来自主题的消息

c# - 你什么时候以及为什么要向上转换一个对象?

.net - EF Core linq 和条件包含然后包含问题