我有以下具有自定义ID字段的实体:
public class User : IEntity {
public string Id { get; set; }
}
if (!BsonClassMap.IsClassMapRegistered(typeof(User))) {
BsonClassMap.RegisterClassMap<User>(map => map.AutoMap());
}
它非常好用,当我将新记录添加到集合时,会分配ID值 但是,当我尝试索引此集合中的任何其他字段时:
UserCollection.EnsureIndex(IndexKeys<User>.Ascending(p => p.Email),IndexOptions.SetUnique(true));
Id映射因为断开,插入后ID字段值为空,在集合中我看到生成的默认'_id'字段(我的'ID'的内容)。 有什么想法是什么问题? (我使用的是驱动程序1.8.3.9,mongo win32 2.4.5,NET 4.5)。感谢。
答案 0 :(得分:1)
找到解决方案! UserCollection.EnsureIndex在类映射之前被调用,导致问题。