【发布时间】:2018-12-05 15:45:09
【问题描述】:
我正在使用 EF Core 和 SqlLite 开发 ASP .Net Core Web-api 应用程序。如果有很多选择查询,更新查询会很慢。当查询数量增加时,我收到“数据库已锁定”错误。 我认为问题是“Writer starvation”,所以我想在 DBContext 将数据保存到 DB 时为我的更新设置 PENDING 锁。
如何使用 EF 内核设置 PENDING 锁?还有其他解决办法吗?
更新:
即使查询不多,有时也会发生数据库锁定
-
包:
<PackageReference Include="Abp.AspNetCore.OData" Version="3.8.2" /> <PackageReference Include="Abp.AspNetCore.SignalR" Version="3.7.2" /> <PackageReference Include="Abp.AspNetCore" Version="3.8.2" /> <PackageReference Include="jquery.datatables" Version="1.10.15" /> <PackageReference Include="MailKit" Version="2.0.7" /> <PackageReference Include="Microsoft.AspNetCore.OData" Version="7.0.1" /> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.3" /> <PackageReference Include="BuildBundlerMinifier" Version="2.8.391" /> <PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" /> <PackageReference Include="Microsoft.Win32.Registry" Version="4.5.0" /> <PackageReference Include="NLog.MailKit" Version="3.0.0" /> <PackageReference Include="NLog.Web.AspNetCore" Version="4.7.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.1.1" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="2.1.1" /> <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.1.1" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" /> <PackageReference Include="Castle.Core" Version="4.3.1" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.1.1" PrivateAssets="All" /> <PackageReference Include="Abp.Dapper" Version="3.8.2" /> <PackageReference Include="Abp.EntityFrameworkCore" Version="3.8.2" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Design" Version="1.1.6" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4">
【问题讨论】:
标签: c# sqlite asp.net-core transactionscope ef-core-2.1