1

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));
}

実際、そのためのベストプラクティスは何ですか?エンティティの投影を作成してから公開する必要がありますか?

4

1 に答える 1

2

デタッチは必要ないと思います。取り戻すと自動的にデタッチされます。

ただし、要求/応答環境でのみ使用することを考えると、そもそもNoTrackingオプションを使用してロードするのが賢明です。決して使用しない機能のオーバーヘッドを排除します。

于 2012-10-19T16:01:18.353 に答える