最近、mongoRepository とドライバー パッケージを 1.6.1/1.8.3 から 1.6.6/1.9.2 に更新しました。その後、クラスマップが認識されなくなりました。それを実証するための簡単なアプリを作成しました
public abstract class A:Entity
{
public string Prop1 { get; set; }
}
public class B : A
{
public string Prop2 { get; set; }
}
public class C : A
{
public string Prop3 { get; set; }
}
class Program
{
static void Main(string[] args)
{
BsonClassMap.RegisterClassMap<B>();
BsonClassMap.RegisterClassMap<C>();
var repo1 = new MongoRepository<B>("mongodb://localhost/MongoTest")
{
new B() {Prop2 = "0"},
};
var repo2 = new MongoRepository<C>("mongodb://localhost/MongoTest")
{
new C() {Prop3 = "1"},
};
}
}
このコードを実行すると、B と C という名前の 2 つのコレクションが取得されますが、A という名前の 1 つのコレクションであり、すべてのエンティティ内に _t フィールドが含まれている必要があります。
最新バージョンにアップグレードするときに何か見逃しましたか?