2011-08-24 196 views
0

我的客戶如何跟蹤更改。我下面實體框架自我跟蹤和客戶端沒有跟蹤更改

服務器WCF代碼selftracking實體啓用

public class TrialService : ITrialService 
{ 

     public Project GetProjectByID(int _projectId) 
    { 
     var db = new TrialEntitiesService.FringeNETEntities(); 

     return db.Projects.Include("Items.SubItems").First(s => s.ProjectID == _projectId); 
    } 

    public Item UpdateItem(Item _item) 
    { 
     var db = new TrialEntitiesService.FringeNETEntities(); 

     _item.Actual = 100000; 
     db.Items.ApplyChanges(_item); 
     db.SaveChanges(); 
     return _item; 
    } 



} 

和客戶

public MainWindow() 
    { 
     InitializeComponent(); 
     using (TrialServiceClient proxy = new TrialServiceClient()) 
     { 

      radGridView1.ItemsSource = proxy.GetProjectByID(37).Items; 
      return; 
     } 
    } 

    private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     using (TrialServiceClient proxy = new TrialServiceClient()) 
     { 

      proxy.UpdateItem((Item)radGridView1.SelectedItem); 

     } 
    } 
} 

我是假設,在第一次調用該項目也將更新。這不是自我追蹤實體實現的目標,還是我錯過了大圖片。

如果這不是自我追蹤Entites是那麼我會如何最好地實現這個,而不是手動找到並修改從第一次服務器調用的項目。

+0

你是如何創建的代理人?與STE共享的項目是否與客戶共享? –

+0

嗨,生成一個WCF服務應用程序和EF模型後,下一步是使用STE代碼生成器項目。客戶端應用程序已添加到解決方案中,服務參考是從解決方案資源管理器創建的。 –

回答