簡體   English   中英

在使用MongoDB C#驅動程序的ensureIndex之后,Id字段映射被破壞

[英]Id field mapping is broken after ensureIndex using MongoDB C# driver

我有以下具有自定義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)。 謝謝。

找到解決方案 在類映射之前調用UserCollection.EnsureIndex,導致問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM