使用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服务更新sql表

您需要向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);  
}