.net核心IActionResult返回基类,而不是派生类

我有一个使用mongodb的.Net核心项目。我有一个派生类和一个基类。在我的控制器中,我试图将派生类的列表返回给Ok(),但是当我查看响应时,我正在获取要返回的基类的列表。

    [Route("albums")]
    [HttpGet]
    public IactionResult GetallAlbums()
    {
        List<AlbumAdd> albums = (List<AlbumAdd>) _repo.Getall<AlbumAdd>("albums");

        return Ok(albums); 
    }

当我断点时,专辑列表是派生类,因此仅当发送Ok响应时,它们才作为基类发送。不知道这是否与mongo映射有关,但这是我的DTO。

[DataContract]
public class AlbumAdd : AlbumBase
{
    [BsonElement("rating")]
    [DataMember]
    public double Rating;

    [BsonElement("addDate")]
    [DataMember]
    public DateTime AddDate;

    [BsonElement("format")]
    [DataMember]
    public List<AlbumFormat> Format;

}
    [BsonIgnoreExtraElements]
[BsonDiscriminator(RootClass = true)]
[BsonKnownTypes(typeof(AlbumAdd))]
[DataContract]
public class AlbumBase
{
    [BsonId]
    [DataMember]
    public MongoDB.Bson.ObjectId _id { get; set; }

    [DataMember]    
    public string Id { get; set; }

    [BsonElement("title")]
    [DataMember]
    public string Title { get; set; }

    [DataMember]
    [BsonElement("artists")]
    public string[] Artists { get; set; }

    [DataMember]
    [BsonElement("genres")]
    public string[] Genres { get; set; }

    [DataMember]
    [BsonElement("type")]
    public AlbumType Type { get; set; }

    [DataMember]
    [BsonElement("year")]
    public int ReleaseYear;
}

帮助表示感谢。

xw7932 回答:.net核心IActionResult返回基类,而不是派生类

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3112550.html

大家都在问