我获得了一个基本的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
答案 0 :(得分:0)
服务器与客户端的完成程度略有不同。在服务器上,您可以使用Me.ObjectContext添加和保存实体,例如,在您的域服务类中。
Me.ObjectContext.Products.AddObject(new Product)
Me.ObjectContext.SaveChanges()