我正在使用带有C#的SQL Server 2014 LocalDb。一个问题是,如果应用程序在一段时间内处于非活动状态,则数据库将过期,并且在重新初始化数据库时,下一个操作需要很长时间。防止此类超时的最佳方法是什么?
我正在通过Linq to Entities访问数据库。
我尝试过的一种方法是每隔60秒调用一次这个函数,但即便如此,由于某些原因它似乎也无法正常工作。
public async static Task<Version> GetVersionInfoAsync() {
try {
return await Task.Run(() => {
using (Entities context = new Entities()) {
// We must query manually because querying entity objects would fail on outdated databases.
DbVersion Result = context.Database.SqlQuery<DbVersion>("SELECT Major, Minor, Build, Revision FROM Version").FirstOrDefault();
//DbVersion Result = context.DbVersions.Single();
return new Version(Result.Major, Result.Minor, Result.Build, Result.Revision);
}
});
}
catch (Exception ex) {
throw ex;
}
}