如何使用ado.net实体数据模型执行更新和删除 [英] How to perform update and delete using ado.net entity data model

查看:333
本文介绍了如何使用ado.net实体数据模型执行更新和删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hai朋友,

我在wcf服务中使用ado.net实体数据模型进行插入,更新和删除。但我无法执行更新操作。我已经在下面发布了我的代码,所以请给你解决问题



Iwardservice.cs:

 [ServiceContract] 
public interface IWardService
{



 [OperationContract] 
bool UpdateWard(WardMaster病房);



}





Wardservice.svc.cs:



  public   bool  UpdateWard(WardMaster病房)
{
WardConfig context = new WardConfig();

var wardToUpdate = context.Gema_WardSecond.First(p = > p .Wardid == ward.Wardid);
if (wardToUpdate == null return false ;
wardToUpdate.CompanyCode = ward.CompanyCode;
wardToUpdate.Yearcode = ward.Yearcode;
wardToUpdate.Wardid = ward.Wardid;
wardToUpdate.WardName = ward.WardName;
wardToUpdate.Remarks = ward.Remarks;
wardToUpdate.ActiveFlag = Convert.ToByte(ward.ActiveFlag);
wardToUpdate.CreatedBy = ward.CreatedBy;
wardToUpdate.Createddate = ward.Createddate;
wardToUpdate.ModifiedDate = ward.ModifiedDate;
context.SaveChanges();
return true ;



}

解决方案





也许你应该在检索wardToUpdate时尝试使用FirstOrDefault()。如果First()没有找到任何内容,它将抛出异常,并且根据您的WCF设置,您可能会丢失它。然后像 Er Daljeet Singh 指出你总是回归真实。我还希望修改日期能够改变以反映这些变化。



祝你好运。



< pre lang =cs> public bool UpdateWard(WardMaster病房)
{
WardConfig context = new WardConfig();

var wardToUpdate = context.Gema_WardSecond。其中(p = > p.Wardid ==
ward.Wardid)。 FirstOrDefault();
if (wardToUpdate == null return false ;
wardToUpdate.CompanyCode = ward.CompanyCode;
wardToUpdate.Yearcode = ward.Yearcode;
wardToUpdate.Wardid = ward.Wardid;
wardToUpdate.WardName = ward.WardName;
wardToUpdate.Remarks = ward.Remarks;
wardToUpdate.ActiveFlag = Convert.ToByte(ward.ActiveFlag);
wardToUpdate.CreatedBy = ward.CreatedBy;
wardToUpdate.Createddate = ward.Createddate;
wardToUpdate.ModifiedDate = ward.ModifiedDate ;
var numberOfChanges = context.SaveChanges();
返回 (numberOfChanges > 0 ;
}


Hai friends,
I am using ado.net entity data model for insert,update and delete in wcf services . but i am unable to perform update operation . I have posted my code below so kindly give ur solns

Iwardservice.cs:

[ServiceContract]
    public interface IWardService
    {


[OperationContract]
       bool UpdateWard(WardMaster ward);


}


Wardservice.svc.cs:

public bool UpdateWard(WardMaster ward)
       {
           WardConfig context = new WardConfig();

           var wardToUpdate = context.Gema_WardSecond.First(p => p.Wardid == ward.Wardid);
           if (wardToUpdate == null) return false;
           wardToUpdate.CompanyCode = ward.CompanyCode;
           wardToUpdate.Yearcode = ward.Yearcode;
           wardToUpdate.Wardid = ward.Wardid;
           wardToUpdate.WardName = ward.WardName;
           wardToUpdate.Remarks = ward.Remarks;
           wardToUpdate.ActiveFlag = Convert.ToByte(ward.ActiveFlag);
           wardToUpdate.CreatedBy = ward.CreatedBy;
           wardToUpdate.Createddate = ward.Createddate;
           wardToUpdate.ModifiedDate = ward.ModifiedDate;
           context.SaveChanges();
           return true;



       }

解决方案

Hi,

Maybe you should try FirstOrDefault() when you are retrieving the wardToUpdate. If First() doesn't find anything it will throw an exception and depending on your WCF setup you might be losing that. And then like Er Daljeet Singh pointed out you are always returning true. I would also expect the modified date to change to reflect these changes.

Good luck.

public bool UpdateWard(WardMaster ward)
       {
           WardConfig context = new WardConfig();

           var wardToUpdate = context.Gema_WardSecond.Where(p => p.Wardid == 
             ward.Wardid).FirstOrDefault();
           if (wardToUpdate == null) return false;
           wardToUpdate.CompanyCode = ward.CompanyCode;
           wardToUpdate.Yearcode = ward.Yearcode;
           wardToUpdate.Wardid = ward.Wardid;
           wardToUpdate.WardName = ward.WardName;
           wardToUpdate.Remarks = ward.Remarks;
           wardToUpdate.ActiveFlag = Convert.ToByte(ward.ActiveFlag);
           wardToUpdate.CreatedBy = ward.CreatedBy;
           wardToUpdate.Createddate = ward.Createddate;
           wardToUpdate.ModifiedDate = ward.ModifiedDate;
           var numberOfChanges = context.SaveChanges();
           return (numberOfChanges > 0);
       }


这篇关于如何使用ado.net实体数据模型执行更新和删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆