如何获取自动增量列MVVM的下一个值

时间:2013-07-02 08:41:37

标签: c# wcf mvvm auto-increment

这是代码首先,我将描述我想在其下面找到的内容:

视图模型

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”添加新记录。我这样做是通过将属性“User”发送到WCF。此字段(“UserID”)为0.是否可以在添加新记录时以某种方式立即获取autoincrement列的下一个值?我的意思是这个0值可以通过下一个自动增量列的vaule以某种方式改变吗?我的数据库是在SQL Server management studio 2005中创建的。

修改

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

1 个答案:

答案 0 :(得分:0)

如果我理解你的错误:你应该在数据库中打开它。见here