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 回答