C#ドライバーを使用して「FindAndModify」しようとしているコレクションがMongoDBにあります。このコレクションは、次のように、基本クラスとその派生クラスのタイプを保持します。
[BsonDiscriminator(RootClass = true)]
public class Father
{
public Guid Id { get; private set; }
}
public class Son : Father
{
public string SomeProperty { get; private set; }
}
BsonDocumentを基本クラスにキャストしようとすると、FindAndModifyの後で、結果は「Son」になります。
Father modifiedDocument = result.GetModifiedDocumentAs<Father>();
次の例外が発生します。
System.IO.FileFormatException:要素'SomeProperty'は、Fatherクラスのどのフィールドまたはプロパティとも一致しません。
なぜですか?-ここでダウンキャストできませんか?
ありがとう、ニール。