0

Advert、User、UserRoleの3つのエンティティがあるとします。そして、Web.ApiプロジェクトのGetAllAdvertsメソッド。

public IEnumerable<Advert> GetAllAdverts()
    {
        return repository.GetAll<Advert>();

    } 

url ../api/advertと入力すると、すべての広告と広告に関するデータを含むJSONが取得されますが、ユーザーとユーザーロールに関するすべてのデータも取得されます。

たとえば、すべての広告データとUserNameフォームエンティティUserのみを取得するにはどうすればよいですか?

これはDTOを作成することによって行われますか?

前もって感謝します !

4

1 に答える 1

1

通常、DTOを使用することをお勧めします。それはより多くの作業ですが、完全な制御を提供し、特定のデータレイヤーの特性を抽象化します。

あなたの場合、本当に必要なのはDTOだけを使用する必要がある場合です。これは、からナビゲーションプロパティとしてasを部分的にロードすることができないためです。UserNameUserAdvert

ナビゲーションプロパティ(ロールなど)以外のすべてのプロパティが表示されても問題がない場合Userは、リポジトリ内のコンテキストの遅延読み込みを(一時的に)オフにし、Advert.Userを使用して積極的な読み込みを行うことも検討してIncludeください。

于 2012-12-12T18:37:55.450 に答える