【发布时间】:2021-11-15 18:56:02
【问题描述】:
我有一个场景,我有用户将条目提交到 epi 端点,并且数据库上的标志更新为 1。用户每次可以根据感觉和需要提交多个条目。我有一个逻辑来检查条目是否已准备就绪,如果用户提交另一个表单,则前一个表单设置为 0,新表单设置为 1。每当我提交第二个条目时,我都会遇到错误
找不到实体类型“EntityQueryable”。确保这件事 实体类型已添加到模型中。在 Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.GetOrCreateEntry(对象 实体)
这是我的检查逻辑
public async Task<Entrys> AddEntrys(Entrys entrys)
{
var pastSurveys = _context.Entrys.Where(e => e.UpdatedBy == entrys.UpdatedBy && e.Month == entrys.Month
&& e.Day == entrys.Day && e.Year == entrys.Year && e.CurrentStatus==true).AsQueryable();
if (pastSurveys.Count() > 0)
{
foreach (Entrys e in pastSurveys)
{
if (e.CurrentStatus == true)
{
e.CurrentStatus = false;
}
}
_context.Add(pastSurveys);
_context.SaveChanges();
}
entrys.Id = Guid.NewGuid().ToString();
_context.Add(entrys);
_context.SaveChanges();
return entrys;
}
我怎样才能让我的逻辑继续检查现有调查并将它们更新为 0 而新的调查设置为 1 而不会出现上述错误,已经尝试研究没有运气做远。提前谢谢你
【问题讨论】:
-
把
.AsQueryable()改为ToList()
标签: c# .net-core entity-framework-core