2013-07-02 42 views
0

下面是代碼第一,我將描述什麼,我試圖找出它下面:如何獲得自動增量列MVVM的下一個值

視圖模型

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.是否有可能以某種方式在添加新記錄時立即獲取autoincrement列的下一個值?我的意思是這個0值可以通過自動增量列的下一個值改變嗎?我的數據庫在SQL Server Management Studio中創建2005

編輯

我有增加新的用戶數據庫的形式。它具有綁定到屬性User的文本框。這個文本框用於插入新用戶的名稱,用戶名和密碼。我在「tblUsers」中有這個列。所以當我用這個值填充文本框,並點擊按鈕,屬性用戶獲取這些記錄。但UserID爲0,因爲我沒有插入的文本框。

回答

0

如果我理解你是正確的:你應該在你的數據庫中打開它。見here

+0

不,我已經打開它。問題是當我添加新記錄時UserID爲0,因爲它不在數據庫中。所以它被添加到數據庫後得到價值。但是我想管理它在添加之前獲得價值。 – Stojdza

相關問題