在服务器端项目中插入域服务对象

时间:2013-07-09 15:00:55

标签: asp.net wcf-ria-services ria domainservices

我获得了一个基本的Silverlight Ria Services解决方案,其中包含2个项目(Silverlight客户端和Asp.net主机)以及主机项目中的域服务类。

我可以在宿主项目中的另一个类中创建一个新的域服务对象,并使用Visual Studio生成的方法。

此Domain对象的查询方法可以很好地检索数据,但插入方法不适用于数据库,可能是因为我没有提交te操作,因为方法“SubmitChanges”在客户端项目中执行。

问题是:如何在服务器端对此对象应用插入,删除和更新操作,因为我不是在域服务类中编码,而只是使用这种类型的对象?

我找到了DomainService.Submit方法,但它需要一个不知道如何提供的ChangeSet。

编辑:

//Client Project (Silverlight):
MyDomain domain = new MyDomain();
domain.Products.Add(new Product());
domain.SubmitChanges(); //sucessfull DB insertion 

//Host Project, any new asp.net WebPage: 
MyDomain domain = new MyDomain(); 
domain.InsertProduct(new Product()); //nothing happens in DB 
domain.SubmitChanges(); //don't exist 
domain.Submit(ChangeSet); //don't know how to provide a ChangeSet

1 个答案:

答案 0 :(得分:0)

服务器与客户端的完成程度略有不同。在服务器上,您可以使用Me.ObjectContext添加和保存实体,例如,在您的域服务类中。

Me.ObjectContext.Products.AddObject(new Product)
Me.ObjectContext.SaveChanges()