我已经实现了一个每9分钟运行一次的小型Windows服务,并将通过Web服务传输的数据写入数据库。
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();
}
为什么会抛出此异常?控制台程序中的相同代码块运行良好
alt text http://img687.imageshack.us/img687/7588/unbenanntxb.png
答案 0 :(得分:1)
您是否正确设置了app.Config中的连接字符串?
IIRC,L2S DataContext上的默认构造函数从配置文件中读取连接字符串。如果连接字符串指向错误的数据库(或不存在的数据库),您可能会收到异常。
这也可以解释为什么这段代码在不同的上下文中执行时会起作用。