5

授業があります

[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 を実装するために本当にコンテンツを作成する必要がありますか?

4

2 に答える 2

0

クエリの後にキャストできます。

mongo.GetCollection<Area>().AsQueryable().Cast<Content>().FirstOrDefault()
于 2011-05-10T04:02:10.270 に答える
0

この例外を修正するために、github でプル リクエストを送信しました。

https://github.com/atheken/NoRM/pulls

于 2011-08-30T18:51:08.350 に答える