1

我已经完成了一个处理数据库的 wcf 服务。在那个 WCF 服务中,我创建了一些存储过程。现在可以从我的网络(http://myIP/MysService.csv/)访问该服务,并且可以通过这种方式访问​​我的存储过程:http://myIP/MysService.csv/MyProcedure?myParam=XXX。

我有一个 MVC4 应用程序,它正在处理一些本地数据(本地我的意思是本地数据库和本地 WCF 服务,以这种方式调用示例请求:

public int getClientID(string login)
    {
        var context = new MyLocalService.MyLocalEntityEntities(new Uri(http://localhost:12345/MyWCF.svc/));
        var persons = context.PERSON.ToList();

        var cli = from person in persons
                     where person.LOGIN == login
                     select person.CLIENT_ID;

        int cliID = (int) cli.First();
        return cliID;
    }

现在,我想插入 2 :删除所有使用本地数据的部分(var context=...),并通过调用我的 WCF 服务的存储过程来替换它。怎么做 ?

我尝试使用右键单击添加我的服务-> 添加为服务引用-> http://myIP/MysService.csv/ 地址,因为我无法访问存储过程。这是正确的工作方式吗?如果不是,该怎么做?谢谢 !

4

1 回答 1

1

如果您要使用存储过程,请查看允许您在数据库上执行存储过程的SqlCommand类。

另一个想法是考虑您正在使用哪种对象关系映射工具,它可能允许直接执行 SQL 命令,因为您似乎已经在代码中使用了一些 LINQ。


您可以将 SqlCommand 类与直接连接到数据库的 SqlConnection 类配对,假设存储过程是 MS-SQL Server 或 SQL Express,您希望在数据库中执行该过程。除非您的配置与我所看到的非常不同,否则大多数对存储过程的调用都是通过包装一些用于连接的 using 语句和运行该过程的命令来完成的。 如果需要,从 C# 代码调用存储过程有一个示例。

于 2013-07-09T16:18:57.193 回答