gpt4 book ai didi

c# - 从命令行生成 EF 存储过程方法

转载 作者:行者123 更新时间:2023-11-30 15:31:39 24 4
gpt4 key购买 nike

我在 VS2013 中使用数据库优先的 EntityFramework 6。当您拉入数据库时​​,您可以获得存储过程,它为每个过程将方法构建到您的上下文中,并为它从过程派生的每个返回类型构建类。

我正在寻找一种从命令行运行它的方法。我能找到的最接近的是 EdmGen ,但这显然只做表格。

我看过 EfGen ,但除了这只是从某个没有源代码或同行评审的人那里下载的,它似乎至少落后了一个版本。

构建方法的名称和参数非常简单 - 我可以自己使用 SQL Server 元数据来完成 - 但是,构建结果类会比较麻烦,所以理想情况下我想做 VS 正在做的任何事情。

是否有 SDK 命令或我可以从 Visual Studio 中提取的命令来按需执行此操作?我经常不得不重新拉取我的过程(在开发过程的早期,所以事情不断变化),而且在 UI 中做这件事很麻烦。

最佳答案

我认为您无法通过命令行执行您尝试执行的操作。正如您在 EF6 设计器中注意到的那样,没有类似于 EdmGen 公开的用于逆向工程的公共(public) API。缺少 API 实际上并不是这里最大的问题 - EdmGen 和新设计器生成的一般模型在语义上是相同的 - 唯一的区别是在 EF6 中为 SqlServer 引入了两个新的提供者 list 标记 - 2012 用于 Sql Server 2012 和 2012.Azure 用于 Sql Azure。当使用新设计器将上述数据库作为目标时,您将获得这些提供商 list token ,但当使用 EdmGen 时,您将获得 2008。这里的实际问题(以及 EdmGen 不支持生成/导入存储函数的原因)是在 EF 提供程序模型中,无法获取存储函数返回的结果的描述。为了弥补这一点,设计师使用了 DDEX能够返回存储函数返回的第一个结果集的描述的提供程序(现在,您也知道为什么 EF 设计器不支持返回多个结果集的存储过程,即使运行时支持它)。由于 DDEX 基本上是 VS 的东西,我认为您无法使用开箱即用的工具从命令行导入存储功能。

关于c# - 从命令行生成 EF 存储过程方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20384753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com