【问题标题】:Is there a standalone tool to generate Entity Framework code first entities from an existing database? [closed]是否有一个独立的工具可以从现有数据库生成实体框架代码优先实体? [关闭]
【发布时间】:2014-05-18 07:46:00
【问题描述】:

我希望能够在 Visual Studio 之外生成 POCO 实体。这可能吗?

【问题讨论】:

  • 现有数据库中的代码优先对我来说没有意义。
  • 从现有数据库中,它将是模型优先的 :)
  • 现有数据库中有逆向工程代码。这对我来说很有意义。还没有看到一个独立的版本对不起。只是这个visualstudiogallery.msdn.microsoft.com/…

标签: c# .net entity-framework database-design poco


【解决方案1】:

我还没有找到一个独立的工具(在 Visual Studio 之外),但是当我从数据库优先/模型优先切换到代码优先时,我在之前的项目中使用了 Visual Studio 扩展 EntityFramework Reverse POCO Generator

为什么它需要是一个独立的工具?如果它是永久开关,您可以在转换后删除扩展。

【讨论】:

  • 目标是能够在 Visual Studio 之外工作,但获得一定程度的自动化,尤其是在“逆向工程”大表方面。当然我可以在 VS 中完成,然后使用生成的程序集,但想跳过这一步。
【解决方案2】:

DevArt 的 EntityDeveloper。用户界面很好,更新模型也很强大。遗憾的是不是免费的,但也不是很贵。

【讨论】:

  • 很棒的发现!很值这个价!谢谢!
【解决方案3】:

我意识到这是一个老问题,但这是我目前面临的一个问题。

通过使用 .net4 框架安装中包含的 EdmGen.exe,我设法获得了一些运气,因此它很可能存在于客户端计算机上。 EdmGen 将生成模型和映射文件,此外,您可以使用它生成对象层代码。

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"Data Source=<DATASOURCE>; Initial Catalog=<CATALOG>; Integrated Security=SSPI" /project:<PROJECT> /entitycontainer:<ENTITY CONTAINER> /namespace:<NAMESPACE> /language:CSharp  

在此之后,您可以继续生成您的对象层代码:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:EntityClassGeneration /incsdl:.\<PROJECT>.csdl /outobjectlayer:.\<PROJECT>.Objects.cs /language:CSharp

显然,您需要将 替换为您的特定需求。 如果您使用的是 64 位计算机,也可以将路径中的 \Framework\ 替换为 \Framework64\。

您可以在此处阅读所有功能: EDM Generator Docs

我已经设法让它工作了,但性能一直很差。我正在使用一个有点复杂的数据库,它有大约 80 个表和 30-40 个视图,并且整个生成过程花费了一个多小时。我在网上看到过其他类似的案例,但没有找到解决办法。

编辑:我刚刚遇到this excellent tutorial/article,它有助于自动化整个过程。希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 2015-09-03
    相关资源
    最近更新 更多