防止SQL Server LocalDb超时的最佳方法(保持活跃)

时间:2015-04-07 04:28:15

标签: c# linq sql-server-2014 localdb

我正在使用带有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;
    }
}

0 个答案:

没有答案