簡體   English   中英

使用C#驅動程序序列化在MongoDb中映射和索引外鍵

[英]Map and Index foreign key in MongoDb using C# Driver Serialization

給定下面列出的模型,我想使用MongoDb.Driver.Serialization為屬性PostId創建一個IndexKey。

    public class Post
    {
        public ObjectId Id { get; private set; }
        public string Title { get; set; }
        public string Body { get; set; }
        public IList<Comment> Comments { get; set; }
    }

    public class Comment
    {

        public ObjectId Id { get; private set; }

        public string Email { get; set; }
        public string Body { get; set; }

        public ObjectId PostId { get; set; }

        public Post Post { get; set; }
    }

我想使用類似的東西

    MongoDB.Bson.Serialization.BsonClassMap.RegisterClassMap<Post>(p =>
    {
        p.MapIdField(f => f.Id);
    });

如果僅要將索引應用於該屬性,則應使用CreateIndex外鍵實際上不是NoSQL和MongoDB的一部分。 它實際上不能像SQL數據庫那樣強制執行該規則。

例:

_databaseClient.GetServer().GetDatabase("database").
    GetCollection<Comment>("Comments").CreateIndex(
        IndexKeys<Comment>.Ascending(_ => _.PostId ));

暫無
暫無

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

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