我試圖用Mongo Db的10gen C#驅動編寫下面的代碼。我想在這裏實現的是編寫一個簡單的適配器,以無縫地緩存C#對象。Mongo db C#序列化
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 2012-02-14 18:51:22