针对SQL数据库项目的EF反向POCO?

时间:2015-05-12 00:21:04

标签: sql-server entity-framework ef-code-first poco database-project

我可以直接针对SQL数据库项目使用EF Reverse POCO生成器吗?

我将SQL数据库定义保存在" Visual Studio SQL数据库项目"中,这为我提供了一些不错的版本控制功能,架构比较和一些漂亮的部署功能。有时我在开发期间从临时数据库更新项目文件,但版本控制的项目始终是"事实"对于任何版本。

如果我使用EntityFramework Reverse POCO Code First Generator,我是否需要往返我的"真相"通过实际的SQL数据库生成POCO?或者我可以针对VS数据库项目使用POCO生成器吗?

我知道数据库项目的模式在各种VS数据库交互中都有一种元存在。例如,它在SQL Server对象资源管理器中显示真实的数据库图标。但我不知道代码优先生成器是否/确实利用类似的能力来查询元数据。

2 个答案:

答案 0 :(得分:1)

GitHub上有一个名为SqlSharpener的项目可用作NuGet包。

说明

  

解析SQL文件以创建可以使用的元对象层次结构   生成C#代码,例如存储过程包装器或实体框架   代码优先实体。手动生成或通过调用其中一个生成   包含预先编译的T4模板。

     

而不是从数据库生成代码或使用繁重的代码   抽象层可能会错过数据库之间的差异   数据访问层直到运行时,这个项目旨在提供一个非常   在设计时生成的快速简单的数据访问层   使用SQL文件作为事实来源(例如在SSDT中找到的那些)   项目)。

我无法保证,因为我从未使用它,但似乎很有希望。

答案 1 :(得分:0)

对于EntityFramework Reverse POCO Code First Generator,您需要往返实际的SQL数据库以生成代码优先代码,因为您不能对VS数据库项目使用生成器。