我正在使用 EF5 代码优先方法,我只是想知道在通过 Web API 公开实体时是否应该从 EF 上下文中分离实体?
假设我有 API 操作方法
[HttpGet]
public HttpResponseMessage Get(int id)
{
var user = _userRepository.GetById(id);
if (user != null)
{
// detach here???
_userRepository.Detach(user);
return Request.CreateResponse(HttpStatusCode.Found, user);
}
return Request.CreateErrorResponse(HttpStatusCode.NotFound, string.Format("No user with id={0} is found", id));
}
实际上,最好的做法是什么?我应该创建实体的投影然后公开它吗?