【问题标题】:Remove the edmx file - keep only POCO entities删除 edmx 文件 - 仅保留 POCO 实体
【发布时间】:2012-07-25 01:10:05
【问题描述】:

我想摆脱大而凌乱的 edmx 文件,它在 svn 中合并时只会给我带来痛苦。

我想先转向代码。为此,理想情况下,我会根据当前的 edmx 自动生成类,然后完全删除 edmx 文件。

之后我就不需要设计师了,我会手动添加列和关系。

你将如何获得这个?新的 ef 4.2(?) 会更合适吗?

谢谢

【问题讨论】:

    标签: entity-framework entity-framework-4


    【解决方案1】:

    我会使用Entity Framework Power Tools CTP1 从现有数据库生成 POCO。

    Entity Framework Power Tools CTP1 逆向工程师 Code First - 为现有数据库生成 POCO 类、派生的 DbContext 和 Code First 映射。

    在您拥有 POCO 并生成上下文后,您不需要 edmx 文件了。

    【讨论】:

    • 这不是真的。如果您使用 POCO 生成器生成的上下文,您仍然需要 EDMX,因为在编译时它被分解为 SSDL、MSL 和 CSDL 文件,这些文件作为资源包含在您的程序集中。在运行时,这些文件用于配置映射(它们在连接字符串中引用)。
    【解决方案2】:

    我最终从 edmx 生成了 .cs 文件,将生成器从 http://visualstudiogallery.msdn.microsoft.com/7812b04c-db36-4817-8a84-e73c452410a2 更改为“ADO.NET DbContext Generator”。

    然后添加未生成的主键和外键(如果有任何差异,我使用的是 mysql 数据库)。

    然后我不得不更改大量查询,因为如果您可以这样做:

    from x in context.Table1
    from y in context.Table2
    where x.id = y.xid 
    

    并且会转化为连接,这不再有效!

    需要进行一些更改,但最终它似乎可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-08
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      相关资源
      最近更新 更多