【问题标题】:How to get next value of autoincrement column MVVM如何获取自动增量列 MVVM 的下一个值
【发布时间】:2013-06-29 13:21:09
【问题描述】:

这是代码,我将在下面描述我想要找出的内容:

视图模型

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,因为我没有用于插入的文本框。

【问题讨论】:

    标签: c# wcf mvvm auto-increment


    【解决方案1】:

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

    【讨论】:

    • 不,我已经打开了它。问题是当我添加新记录时 UserID 是 0 因为它还没有在数据库中。因此,它在添加到数据库后获得价值。但我想管理它在添加之前获得价值。
    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2020-01-29
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多