2010-08-05 47 views
1

我正在做我的第一个WCF服务,我不确定我应该使用存储过程和Linq到Sql的哪条路线。我知道我可以将存储过程拖放到我的DBML文件中,并以这种方式调用它们,或者直接调用它们,而不是使用dbml。为什么我应该选择另一个呢?我想我有点困惑...任何输入,非常感谢!WCF和存储过程选项

回答

2

那么,你已经有了一个Linq-to-SQL数据模型,你可以在你的WCF服务中使用它吗?如果是这样,我可能会将我的存储过程放入该数据模型中。

如果您还没有并使用Linq-to-SQL数据模型,那么创建一个只能调用存储过程的应用程序并没有太多的用处和意义。

如果您还没有Linq-to-SQL数据模型,我可能只是使用直接的ADO.NET代码来调用该存储过程,发送来自WCF服务方法的任何参数,以及传回您需要发回的任何数据。在这种情况下,您将使用SqlConnection,SqlCommandCommandType设置为StoredProcedure),一堆SqlParameters,然后调用command.ExecuteNonQuery()command.ExecuteReader()方法(取决于您存储的proc正在执行的操作)。

+0

我确实已经使用Linq to SQL数据模型。如果我使用Linq to SQL数据模型,我只是不知道是否有任何增加的性能/功能/标准。 – MisterIsaak 2010-08-05 17:55:08

+0

@Jisaak:不,不是真的 - 从Linq-to-SQL数据上下文中调用存储过程更容易,因为您不需要处理设置连接和连接字符串等等。方便:++,表现:没有好处 – 2010-08-05 18:47:40

+0

好的。这就是我需要知道的。谢谢! – MisterIsaak 2010-08-05 20:07:54

1

如果遇到可能需要动态调整存储过程参数的情况,则可能需要创建一个通过WCF服务调用存储过程的类。检查如何完成这篇文章。 Executing SPs from WCF Service

+0

在此提供示例代码以及链接可确保未来用户的实用性。 ;) – vdbuilder 2012-11-07 18:07:01