2009-11-04 22 views
0

我已經實現了一個每9分鐘運行一次的小型Windows服務,並將通過webservice傳入數據的數據寫入db。LinQ to SQL:Windows服務中的InvalidOperationException

不要做我使用DB工作的LINQ to SQL

using (var db = new DataClasses1DataContext()) 
      { 
       var currentWeather = this.GetWeatherData(); 

       //////TODO Add the data correct 

       var newEntry = new WeatherData() 
       { 
        test = currentWeather.dateGenerated.ToShortTimeString() 
       }; 

       //var test = db.WeatherDatas.First(); 

       db.WeatherDatas.InsertOnSubmit(newEntry); // this throws Invalid Operation Exception 
       db.SubmitChanges(); 
      } 

它爲什麼拋出此異常?在控制檯PROGRAMM相同的代碼塊運行不錯

alt text http://img687.imageshack.us/img687/7588/unbenanntxb.png

+0

這個例外是什麼意思? – liggett78

+0

什麼都沒有..只有例外發生了 – Markus

+0

應該有一些消息(看看內部的異常)。請將調試器附加到服務中,設置斷點並逐步執行代碼。 – liggett78

回答

1

你有沒有在App.config中設置連接字符串是否正確?

IIRC,L2S DataContext上的默認構造函數從配置文件讀取連接字符串。如果連接字符串指向錯誤的數據庫(或不存在的數據庫),您可能會收到異常。

這也可以解釋爲什麼這段代碼在不同的上下文中執行時工作。

+0

多數民衆贊成它......我親愛的主鍵丟失在服務的datacontext ...廢話狗屎 – Markus

相關問題