我正在使用 EFCore 做一个原型(prototype),并努力寻找一种返回我刚刚添加到实体集合中的对象的好方法。
例如:
public Songleader AddSongleader(int congregationId, Songleader songleader)
{
var congregation = _dbContext.Congregations.Include(c => c.Songleaders).FirstOrDefault(c => c.Id == congregationId);
congregation.Songleaders.Add(songleader);
_dbContext.SaveChanges();
//TODO: return the recently-added record...
return null;
}
一个
Congregation
收藏了 Songleaders
.但是,一旦我保存了上下文,我就不确定返回新实例的好方法。 Id
Songleader 是在插入数据库时生成的,所以我不能只返回传递给方法的对象......在这种情况下,是否有一个很好的策略或 EF 中的某些内容来提供帮助?
最佳答案
您可以返回 Songleaders
返回给调用者或只是返回 SaveChanges()
的整数值方法。这一切都取决于您的要求。
从 Controller 您可以使用 CreatedAtRoute
返回响应的方法。
这是一个很好的教程,您可以阅读。它提到了一些针对 Rest API 的 HTTP 建议。
Building Your First Web API with ASP.NET Core MVC
关于c# - 返回 EFcore 中新增的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41355818/