从命令行生成EF存储的proc方法
作者:互联网
我在VS2013中以数据库优先方式使用EntityFramework 6.插入数据库时,您可以获得存储过程,该过程将在每个proc的上下文中构建方法,以及从该过程派生的每种返回类型的类.
我正在寻找一种从命令行运行此方法的方法.我能找到的最接近的数字是EdmGen,但这显然只用于表格.
我已经看到了EfGen,但是除了这只是从某个没有源代码或同行评审的家伙下载的文件之外,它似乎至少落后了一个版本.
构造方法的名称和参数非常容易-我可以使用SQL Server元数据自己做到这一点-但是,构造结果类会比较棘手,因此理想情况下,我想做VS正在做的事情.
是否有SDK命令或我可以从Visual Studio中提取的命令以按需执行此操作?我经常不得不重新拉动我的proc(在开发过程的早期,所以事情一直在变化),并且在UI中这样做很麻烦.
解决方法:
我认为您无法从命令行执行任何操作.正如您在EF6 Designer中注意到的那样,没有类似于EdmGen公开的用于逆向工程的公共API.缺少API实际上不是最大的问题-EdmGen和新设计器生成的一般模型在语义上是相同的-唯一的区别是在EF6中为SqlServer引入了两个新的提供程序清单令牌-2012 for Sql Server 2012和2012.Azure for Sql Azure.使用新设计器将上述数据库作为目标时,您将获得这些提供程序清单令牌,但是使用EdmGen时将获得2008年.这里的实际问题(以及EdmGen不支持生成/导入存储功能的原因)是在EF提供程序中模型无法获取存储功能返回的结果的描述.为此,设计人员使用了DDEX提供程序,该提供程序可以返回第一个结果集的描述(现在,您还知道为什么EF Designer即使运行时支持它也不支持返回多个结果集的存储过程).由存储函数返回.由于DDEX本质上是VS,所以我认为您将无法使用现成的工具从命令行导入存储功能.
标签:visual-studio-2013,entity-framework-6,c,entity-framework,visual-studio 来源: https://codeday.me/bug/20191030/1965431.html