gpt4 book ai didi

c# - 使用 NoRM 驱动程序的 MongoDb 中的多态性问题

转载 作者:可可西里 更新时间:2023-11-01 09:06:39 25 4
gpt4 key购买 nike

我有课

[MongoDiscriminated]
public abstract class Content
{
public int? Id { get; set; }
public int? ParentId { get; set; }
public string Slug { get; set; }
public string Path { get; set; }
public string Title { get; set; }
}

public class Area : Content
{
}

这样的查询有效

var item = mongo.GetCollection<Area>().AsQueryable().FirstOrDefault();

但是当我像这样查询时

var item = mongo.GetCollection<Content>().AsQueryable().FirstOrDefault();

我得到一个 InvalidCastException

Object must implement IConvertible.

怎么了?将 Area 转换为 Content 应该没有问题。我真的必须制作内容才能实现 IConvertible 吗?

最佳答案

您可以在查询后直接转换它:

mongo.GetCollection<Area>().AsQueryable().Cast<Content>().FirstOrDefault()

关于c# - 使用 NoRM 驱动程序的 MongoDb 中的多态性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com