Kil*_*ine 7 c# entity-framework .net-core
我正在使用 EFCore 制作原型,并努力寻找一种好方法来返回我刚刚添加到实体集合中的对象。
例如:
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;
}
Run Code Online (Sandbox Code Playgroud)
ACongregation
有一个集合Songleaders
。但是,一旦保存上下文,我就不确定返回新实例的好方法。Songleader的Id
是在插入数据库时生成的,因此我不能只返回传递给方法的对象......
是否有一个好的策略或者 EF 中的某些内容可以在这种情况下提供帮助?
您可以将返回值返回Songleaders
给调用者,也可以仅返回方法返回的整数值SaveChanges()
。这一切都取决于您的要求。
从控制器中,您可以使用CreatedAtRoute
方法返回响应。
这是一个很好的教程,您可以阅读。它提到了 Rest API 的一些 HTTP 建议。
使用 ASP.NET Core MVC 构建您的第一个 Web API