Mongo Db用の10gen C#ドライバを使用して次のコードを記述しようとしています。私がここで達成しようとしているのは、C#オブジェクトをシームレスにキャッシュするための単純なアダプタを作成することです。Mongo db C#serialization
RegisterClassMap()は、クラス契約のCacheIdフィールドを認識できません。私はMapIdField APIについて十分な文書を見つけることができませんでした。
誰か助けてもらえますか?前もって感謝します !!
public interface ICacheable
{
byte[] CacheId { get; }
}
public class Contract : ICacheable
{
public byte[] CacheId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class MongoCacheStore
{
private void RegisterClass<T>() where T : class, ICacheable
{
if (!BsonClassMap.IsClassMapRegistered(typeof(T)))
{
BsonClassMap.RegisterClassMap<T>();
BsonClassMap.RegisterClassMap<T>(cm =>
{
cm.AutoMap();
**cm.MapIdField("CacheId");**
});
}
}
}
また、cm.MapIdField( "CacheId")も変更されました。 〜cm.MapIdField( "Id");長いデータ型としてIdを宣言しました。しかし、それでもIdを認識できませんでした。したがって、バイト配列IDフィールドを特定できないということは関係ありません。 – BlitzKrieg