在没有dbml文件的情况下从C#4.0执行存储过程

时间:2013-05-06 23:10:35

标签: linq web-services c#-4.0 data-access-layer asp.net-web-api

我正在尝试创建一个动态存储过程调用函数(将在.NET 4.0 WebApi服务中设置为端点)。

以下是事实:

  • 我知道我总是要调用一个包含一个整数参数的存储过程。

  • 我知道将来我会添加更多的存储过程,所以我宁愿在DAL中编写一次代码,让事情变得充满活力,如果我在数据库中保存一个表可能的存储过程名称每次添加存储过程时都不必更改DAL代码。

  • 我尝试使用Linq,但似乎如果我使用通用定义,我最终会在DAL中进行代码更改,如下所示:{{3 }}

所以最重要的是,我试图调用存储过程而不会返回它或它将返回什么。因此,没有定义所有这些存储过程的DBML文件。

目前我在DBML中存储这些存储过程并且它们非常麻烦,因为它们在某些元数据/ .designer文件中定义了返回的字段,因此它们非常严格。不那么有活力。

我知道在某种dataAdapters实现中可能有一种方法,如果你可以指出我正确的方向。请记住,无论您提出什么解决方案,我都必须能够将其转换为列表并将其作为this.Request.CreateResponse(HttpStatusCode.OK, HttpResponseMessage);

返回

请帮忙!

1 个答案:

答案 0 :(得分:0)

您必须选择最适合您问题的工具,而不是将工具搞砸到问题中。 :d

我认为普通的旧ADO.NET会为你工作。

您还可以了解SQL Server如何通过HTTP公开存储过程。