0

在执行以下代码以通过自动生成的 ADO.Net 实体数据模型从 SQLite 数据库获取值后,我在 VS2010 中收到一条错误消息。

using (Data.DbEntities ent = new Data.DbEntities())
{
  var r = from tt in ent.Template_DB select tt;
  r.First();//Required to cause error
}

正在访问的 SQLite 数据库表称为“模板”(该模型已重命名为 Template_DB),其中有几列包含字符串、长整数和位。我尝试过的所有查询都返回了预期的结果。

我收到的消息是:

检测到 ReleaseHandleFailed

“Microsoft.Win32.SafeHandles.SafeCapiHashHandle”类型的 SafeHandle 或 CriticalHandle 未能正确释放值为 0x0D0DDCF0 的句柄。这通常表明句柄通过其他方式被错误地释放(例如使用 DangerousGetHandle 提取句柄并直接关闭它或围绕它构建另一个 SafeHandle。)

此消息可能出现 60% 的时间,在代码完成后最多 8 秒。据我所知,数据库没有加密,也没有密码。直到最近,我一直在将类似的 MS-SQL 数据库与实体框架模型一起使用,并且从未见过这样的错误。

帮助!

编辑:我从这里下载/安装了“sqlite-netFx40-setup-bundle-x86-2010-1.0.81.0.exe”来安装 SQLite 。这包括 System.Data.SQLite 1.0.81.0 (3.7.12.1) 包(不是下面评论中所述的 3.7.13)

4

0 回答 0