1

次のようなコントローラーメソッドがある場合:

    public IQueryable<ClassBase> Get()
    {           
    }

ClassBase 派生クラスの IQueryable を返すと、シリアライザーが派生クラスをシリアル化し、派生クラスが転送されます (JSON のみをテストしました)。

基本クラスの出力を取得する方法はありますか?

4

1 に答える 1

2

シリアライザーは、渡されたオブジェクトをシリアライズします。派生クラスを微調整して、シリアル化する方法に関する指示を提供することもできますが、おそらくそれはしたくないでしょう。

これが、MVVM デザイン パターンが存在する理由です。実際にすべきことは、実際に必要なフィールドだけを持つビュー モデル オブジェクトにビジネス オブジェクトを投影することです。このようなもの:

public IQueryable<ClassViewModel> Get()
{
    return CollectionOfClassDerivedObjects.Select(x => new ClassViewModel(x))
}
于 2012-12-12T13:48:36.027 に答える