WCF和MVC:从web MVC应用程序调用存储过程
本文关键字:MVC 应用程序 调用 web 存储过程 WCF | 更新日期: 2023-09-27 18:21:44
我做了一个处理数据库的wcf服务。在WCF服务中,我创建了一些存储过程。该服务现在可以从我的网络(http://myIP/MysService.csv)访问,我的存储过程也可以通过这种方式访问:http://myIP/MysService.csv/MySprocedure?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/以获取我无法访问存储过程的地址。这是正确的工作方式吗?如果不是,怎么做?谢谢
如果要使用存储过程,请查看SqlCommand类,该类将允许您在数据库上执行存储过程。
另一个想法是考虑您正在使用的对象关系映射工具可能允许直接执行SQL命令,因为您似乎已经在代码中使用了一些LINQ。
您可以将SqlCommand类与直接连接到数据库的SqlConnection类配对,假设存储过程是要在数据库中执行过程的MS-SQL Server或SQL Express。除非您的配置与我所看到的非常不同,否则大多数对存储过程的调用都是通过包装一些用于连接的using语句和运行过程的命令来完成的。如果需要的话,从C#代码调用存储过程有一个例子。