在WCF中使用LinqToSql维护子对象,可以遵循以下步骤:
public void UpdateParentWithChild(Parent parent)
{
// 在这里维护子对象
}
public void UpdateParentWithChild(Parent parent)
{
using (MyDataContext context = new MyDataContext())
{
// 获取父对象
Parent existingParent = context.Parents.Where(p => p.ParentID == parent.ParentID).FirstOrDefault();
// 如果父对象存在,则更新子对象
if (existingParent != null)
{
// 更新子对象
Child child = parent.Child;
if (child.ChildID == 0)
{
// 添加新的子对象
context.Children.InsertOnSubmit(child);
}
else
{
// 更新现有的子对象
Child existingChild = context.Children.Where(c => c.ChildID == child.ChildID).FirstOrDefault();
if (existingChild != null)
{
existingChild.Name = child.Name;
existingChild.Age = child.Age;
}
}
// 提交更改
context.SubmitChanges();
}
}
}
Parent parent = new Parent();
parent.ParentID = 1;
parent.Name = "John";
Child child = new Child();
child.ChildID = 1;
child.Name = "Jane";
child.Age = 5;
parent.Child = child;
MyServiceClient client = new MyServiceClient();
client.UpdateParentWithChild(parent);
client.Close();
这样,就可以在WCF中使用LinqToSql维护子对象了。
领取专属 10元无门槛券
手把手带您无忧上云