1.查询:
// WebService端代码: [WebMethod] public string GetEmployee( int empID) ... { Employee emp = new Employee(); if(emp.LoadByPrimaryKey(empID)) ...{ return emp.ToXml(); } else ...{ return null; }} // 客户端代码: webService service = new webService();Employee emp = service.GetEmployee( int empID);
2. 更新:
ADO.Net 2.0中新增了一项功能:DataRow提供SetModified和SetAdded方法来改变其状态。上一篇文章中讲到,执行emps.FromXml之后,DataRow的状态为Added,这里我们可以将DataRow的状态改为Modified,当调用Save时,即可实现更新功能。 // BusinessEntity.cs中添加一个函数: virtual public void MarkAsModified() ... { if (_dataRow != null) ...{ _dataRow.SetModified(); }} // WebService端的代码: [WebMethod] public bool Update( string str) ... { Employee emp = new Employee(); emps.FromXml(str); //此时DataRow的状态为Added emps.AcceptChanges(); //此时DataRow的状态为Unchanged emps.SetModified(); //此时DataRowd的状态为Modified emps.Save(); //保存修改} // 客户端代码: webService service = new webService();Employee emp = service.GetEmployee( int empID); // 同上面的查询 emp.Property = …………; service.Update(emp.Toxml());
3. 删除:
// 客户端只需将ID发过来就可以了 [WebMethod] public bool Delete( int empID) ... { Employee emp = new Employee(); if(emp.LoadByPrimaryKey(empID)) ...{ emp.MarkAsDeleted(); emp.Save(); return true; } else ...{ return false; }}