首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

关于DomainService的平添、删除服务

2012-12-16 
关于DomainService的添加、删除服务开发平台:Visual studio2010 ultimate、Silverlight4我用WCF RIA Service

关于DomainService的添加、删除服务
开发平台:Visual studio2010 ultimate、Silverlight4
我用WCF RIA Service构建Silverlight与数据库的通信,我数据库中有一个User表,在Asp.net中创建了Ado.net entity data model,把User表设置成Enable Editing,生成User实体之后,我创建了一个DomainService,名字叫UserDomainService,在里面系统自动生成GetUser()、InserUser(User user)、UpdateUser(User user)等方法(这些方法都是公有的),但是在Silverlight客户端中通过域上下文(UserDomainContext)的实例userContext却只能访问GetUser()方法,不能访问InserUser等方法,在Silverlight这个项目的根目录下有个Generated_Code文件夹,里面有***.web.g.cs这个文件,查看了一下系统只在***.web.g.cs中自动生成了GetUserQuery()方法,但是没有生成InserUser、UpdateUser等服务相应的方法。1、请问各位大牛这是为什么啊?2、应该怎么操作才会生成InserUser等服务相应的方法呢?

由于无法调用UpdateUser方法,我只能自己在UserDomainService中定义一个函数来测验一下,代码如下:

        public void ResetPassword(User currentUser)
        {
            currentUser.Password = "12345";
            //this.ObjectContext.User.Single(j => j.UserID == currentUser.UserID).Password = "12345";

            this.ObjectContext.User.AttachAsModified(currentUser, this.ChangeSet.GetOriginal(currentUser));
        }


在客户端

        private void btnResetPassword_Click(object sender, RoutedEventArgs e)
        {
            UserDomainContext userContext = new UserDomainContext();
            
            userContext.ResetPassword((User)dgShowData.SelectedItem);
//dgShowData是DataGrid控件,调试的时候dgShowData.SelectedItem这个是存在数据的,问题不在这里,估计是在DomainService那里
            userContext.SubmitChanges();
        }

但是发现无法更新到数据库中。。。3、请问各位大侠应该怎样做才能更新到数据库中啊?
希望各位大牛能帮忙回答这3个问题啊。。。也帮忙解决一下我碰到的问题,谢谢了啊^^
[解决办法]
该回复于2010-11-12 09:59:42被版主删除
[解决办法]
您好、这个问题您解决了吗、能告知一下解决的方法吗、谢谢。
[解决办法]
  先获取,然后再更改
  
 public void ResetPassword(User currentUser)
        {                    

           User user= this.DataContext.User.Where(p=>p.id=currentUser.id).SingleOrDefault<User>();
user.Password="12345";
this.DataContext.SubmitChanges();
        }

  

[解决办法]
=.=! 一零年的帖子, 我.......

热点排行