使用wcf服务更新sql表
本文关键字:sql 更新 服务 wcf 使用 | 更新日期: 2023-09-27 18:25:57
我调用一个现有的wcf服务来选择记录,一旦记录通过wcf被拉过来,我就做我的逻辑(有点上传),一旦完成,我就必须更新数据库中的记录。
这是我呼叫wcf服务的方法
GatewayService.ServiceClient proxy = new ServiceClient("IService");
SearchCriteria criteria = new SearchCriteria();
criteria.UserRoles = new string[]{"*"};
var stories = proxy.GetStoryItemsByCriteria(criteria);
var programs = proxy.GetPrograms();
var readyToDistribute = from story in stories
where story.Submitted
&& story.Status == "Open"
select story;
var joined = from story in readyToDistribute
join program in programs on story.ProgramId equals program.Id
select new StoryProgram(story, program);
foreach (StoryProgram sp in joined)
{
Distribute(sp.Story, sp.Program);
//update the status here in DB
}
以下是WCF服务和控制器的详细信息
服务中的以下代码
public void UpdateProgram(ProgramData prg)
{
ServiceController.UpdateProgram(prg);
}
服务控制器中的以下代码
内部静态void UpdateProgram(ProgramData prg){
IProgramDAO prgDAO = DataAccessObjectFactory.GetProgramDAO();
prgDAO.Update(prg);
}
我的故事表中有一个状态列,一旦分发功能完成,我必须更新它。
请帮忙。提前感谢
您需要向WCF服务添加一个Update方法,并使用新数据调用该方法来更新DB记录。
更新
根据你的评论,你应该能够做这样的事情:
for each (StoryProgram sp in joined)
{
Distribute(sp.Story, sp.Program);
// Make any changes you need to sp.Program
proxy.UpdateProgram(sp.Program);
}