【发布时间】:2016-03-17 21:41:02
【问题描述】:
我计划将我在 SQL Server 中的数据组织为我自己的一个小组织,在我的代码中为每个数据创建元数据类。
对于我对对象进行硬编码的测试,下一步是使用有关这些对象的 SQL Server 查询生成每个测试的属性。
现在我用 C# 处理了我的代码的存储过程部分,
我想知道如何以某种方式使用 SQL Server 来查询执行命令的结果类型?
例如,在这里我们甚至通过阅读它的名字就知道它在做什么......
[dbo].[GtallDrLFilesCount]
但另一个可以选择其他类型的返回,例如行集字符串等'
使用上面的存储过程会返回一个int:
if(@AllDrives=1) Begin
Select
* From [dbo].[HddFolderFiles]
End
但下一个(上面)选择所有内容而不是 RowsCount
我打算访问 SQL Server 并查询它的对象,并且由于我不打算设置返回参数 (OUT),有没有更优雅的方法来实现它,而不是解析存储的 .sql 文件流程?
如果文本包含SELECT *(这是一个行集),则期望它与DataTable
如果文本包含 Select COUNT(*)(这是 int)准备 int 类型变量。
我想如果我没有为我的存储过程分配一个 out 参数,SQL Server 是否可以通过某种方式告诉返回类型,即使它没有 out 参数以使其变得容易?
【问题讨论】:
-
我建议您将尽可能多的存储过程更改为存储函数。然后将返回类型指定为定义的一部分。
-
@marc_s 嘿,马克,有时间回复,有一个教训/附加值,在我正在编码的这些“实验”中学习,..所有这些我都没有希望找到更快和/或更定制/更好的方法,但主要是为了我的经验。我发现尝试处理 .net 中的许多有趣的内置模块以及来自众多选定作者和 API 类别的一些扩展是非常有教育意义的
-
@marc_s 看着@你的记录,我想我永远不会达到你的 XP 但我会比学习你努力学习和教育自己的所有课程和课程更快地接近,再加上你在职业生涯中参与的项目的经验,我的方法是省去那些努力(:我自己做,与你所牺牲的相比,这是我愿意走的捷径,在“你的时间”并不容易(就像现在一样......堆栈溢出即将到来)还有一些额外改进的资源,想象一下如果像你这样的人现在开始他的职业生涯。
-
@marc_s,如果那些 ORM 没有一次又一次地重新发明轮子 -> 无穷大,它们就不会很多,只有一个,不是吗?
标签: c# sql-server stored-procedures orm code-generation