实体框架:传递if(count)并添加太多记录

时间:2017-03-08 12:49:48

标签: c# entity-framework-6

我正在实施一项简单添加新记录的网络服务,我希望将每位用户的记录数限制为10条。

        var linksCount = _context.Quicklinks.Count(q => q.UserId == _principalInfo.UserId);
        if (linksCount < 10)
        {
            _context.Quicklinks.Add(newItem);
            _context.SaveChanges();
            return newItem;
        }

当短时间内有很多请求时,服务正在传递if语句并且即使该数字实际上大于10,它也会添加新记录。是否有机会在不锁定此问题的情况下解决此问题代码片段?

1 个答案:

答案 0 :(得分:-1)

正如@JamesThorpe所说,锁定可能是你最好的选择。如果您发现锁定太昂贵,您可以尝试使用链接数维护会话变量并检查它。