2010-05-02 26 views
0

我有一個稱爲Address的表。我有該表的問題上做一些地址空間的計算刀片的觸發,確定其所在的居委會邊界。Linq To Sql實體從觸發器更新

address = new Address 
      { 

       Street = this.Street, 
       City = this.City, 
       State = this.State, 
       ZipCode = this.ZipCode, 
       latitude = this.Latitude, 
       longitude = this.Longitude, 
       YearBuilt = this.YearBuilt, 
       LotSize = this.LotSize, 
       FinishedSize = this.FinishedSize, 
       Bedrooms = this.Bedrooms, 
       Bathrooms = this.Bathrooms, 
       UseCode = this.UseCode, 
       HOA = this.HOA, 
       UpdateDate = DateTime.Now 

      }; 

      db.AddToAddresses(address); 
      db.SaveChanges(); 

在數據庫中,我可以清楚地看到,觸發在運行和更新neighborhoodID該行的地址表。我想只是重新加載記錄來獲得分配的ID是這樣的:

address = (from a in db.Addresses where a.AddressID == address.AddressID select a).First(); 

在調試器,我可以清楚地看到,address.AddressID是正確的,實體不內存升級。 有沒有解決這個問題的方法?

回答

0

我加

db.Refresh(System.Data.Objects.RefreshMode.StoreWins, address); 

address = (from a in db.Addresses where a.AddressID == address.AddressID select a).First(); 

前右和固定我的問題。

+0

歡迎來到Stack Overflow!很好,你自己解決了你的問題並分享瞭解決方案。要遵循SO約定,您還應該通過單擊複選標記將答案標記爲「已接受」答案。 – 2010-05-02 13:18:17