相关疑难解决方法(0)

实体框架核心:在上一个操作完成之前,在此上下文中启动了第二个操作

我正在使用Entity Framework Core开发ASP.Net Core 2.0项目

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.1" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0"/>
Run Code Online (Sandbox Code Playgroud)

在我的一个列表方法中,我收到此错误:

InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
Microsoft.EntityFrameworkCore.Internal.ConcurrencyDetector.EnterCriticalSection()
Run Code Online (Sandbox Code Playgroud)

这是我的方法:

    [HttpGet("{currentPage}/{pageSize}/")]
    [HttpGet("{currentPage}/{pageSize}/{search}")]
    public ListResponseVM<ClientVM> GetClients([FromRoute] int currentPage, int pageSize, string search)
    {
        var resp = new ListResponseVM<ClientVM>();
        var items = _context.Clients
            .Include(i => i.Contacts)
            .Include(i => i.Addresses)
            .Include("ClientObjectives.Objective")
            .Include(i => i.Urls)
            .Include(i => i.Users)
            .Where(p => string.IsNullOrEmpty(search) …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework asp.net-web-api

42
推荐指数
10
解决办法
5万
查看次数

在ASP.NET核心控制器中使用StackExchange.Redis

我想使用Redis功能,例如来自MVC控制器的位域和哈希字段.据我所知,ASP.NET核心内置了缓存支持,但这只支持基本的GET和SET命令,而不支持我在应用程序中需要的命令.我知道如何从普通(例如.控制台)应用程序使用StackExchange.Redis,但我不知道如何在ASP站点中设置它.

我应该在哪里放置所有连接初始化代码,以便之后可以从控制器访问它?这是我会使用依赖注入的东西吗?

dependency-injection redis asp.net-core

11
推荐指数
3
解决办法
9344
查看次数

StackExchange Redis删除所有以开头的键

我有一个格式的密钥:

Error.1
Error.24
Error.32
Run Code Online (Sandbox Code Playgroud)

使用StackExchange.Redis,我将如何处理KeyDelete与格式匹配的所有键Error.

在另一个答案中,我看到了LUA脚本:

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 Error.*
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何使用 Database.ScriptEvaluate()

c# stackexchange.redis

2
推荐指数
2
解决办法
7306
查看次数