0

首先是代码,我将在下面描述我要查找的内容:

视图模型

private ServiceReference1.tblUser user;
    public ServiceReference1.tblUser User    
    {
        get
        {
            return user;
        }
        set
        {
            user = value;
            OnPropertyChanged("User");
        }
    }

 public ICommand _addUser;
    public ICommand addUser 
    {
        get
        {
            if (_addUser == null)
            {
                _addUser = new DelegateCommand(delegate()
                {
                    try
                    {                            
                        Service1Client wcf = new Service1Client();
                        wcf.AddUser(User);
                        Users.Add(User);
                        wcf.Close();

                    }
                    catch
                    {
                        Trace.WriteLine("working...", "MyApp");
                    }
                });
            }

            return _addUser;
        }
    }

WCF

  bool IService1.AddUser(tblUser user) 
    {

        try
        {        
            context = new HotelBaseEntities();               


            context.AddTotblUsers(user);
            context.SaveChanges();

            return true;
        }

        catch (Exception e) 
        {
            e.Message.ToString();

            return false;
        }
    }

说明: 在 WCF 服务上,我有 ADO.Net EntityDataModel (EF 4),它包含表“tblUsers”。“tblUsers”具有名为“UserID”的主键列,它是自动增量的。WCF 上的方法用于向“tblUsers”添加新记录。我通过将属性“用户”发送到 WCF 来做到这一点。此字段(“UserID”)为 0。添加新记录时是否可以立即获取自动增量列的下一个值?我的意思是这个 0 值可以用下一个自动增量列的值来改变吗?我的数据库是在 SQL Server management studio 2005 中创建的。

编辑

我有将新用户添加到数据库的表格。它具有绑定到属性用户的文本框。此文本框用于为新用户插入名称、用户名和密码。我在“tblUsers”中有这些列。因此,当我用这个值填充文本框并单击按钮时,属性 User 会获取这些记录。但是 UserID 是 0 因为我没有用于插入的文本框。

4

1 回答 1

0

如果我理解你是正确的:你应该在你的数据库中打开它。看这里

于 2013-07-02T08:48:17.730 回答