【问题标题】:WCF and Stored Procedure OptionsWCF 和存储过程选项
【发布时间】:2010-08-05 15:58:08
【问题描述】:

我正在创建我的第一个 WCF 服务,但我不确定我应该对存储过程和 Linq to Sql 采取哪条路线。我知道我可以将存储的过程拖放到我的 DBML 文件中并以这种方式调用它们,或者直接调用它们,而不使用 dbml。我有理由选择其中一个吗?我想我有点困惑......任何输入都非常感谢!

【问题讨论】:

    标签: asp.net tsql stored-procedures wcf


    【解决方案1】:

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

    如果您还没有并使用 Linq-to-SQL 数据模型,我认为创建一个只是为了能够调用存储过程的模型并没有多大用处和意义。

    如果您还没有 Linq-to-SQL 数据模型,我可能会直接使用 ADO.NET 代码来调用该存储过程,发送来自 WCF 服务方法的任何参数,然后传递返回您需要发回的任何数据。在这种情况下,您将使用SqlConnectionSqlCommandCommandType 设置为StoredProcedure)、一堆SqlParameters,然后调用command.ExecuteNonQuery()command.ExecuteReader() 方法(取决于你的存储过程在做什么)。

    【讨论】:

    • 我已经使用了 Linq to SQL 数据模型。我只是不知道如果我使用 Linq to SQL 数据模型是否有任何额外的性能/功能/标准。
    • @Jisaak:不,不是真的 - 从 Linq-to-SQL 数据上下文调用存储过程更容易,因为您不需要处理设置连接和连接字符串等向前。方便:++,性能:无好处
    • 好的。这就是我需要知道的。谢谢!
    【解决方案2】:

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

    【讨论】:

    • 在此处提供示例代码以及链接,将确保对未来用户有用。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    相关资源
    最近更新 更多