如何在Google Datastore C#.NET中建立多对多关系的模型

时间:2018-10-24 19:58:45

标签: c# google-app-engine asp.net-core google-cloud-datastore

我需要在google-cloud-datastore中建立一对多或多对多关系的模型。有关此概念的Python RE,有很多文档,但是缺少有关灵活环境(尤其是C#)的文档。

这是我当前的代码,这导致密钥以json的形式存储在数据存储区中。

    var keys = request.Subjects.Select(key => new Key().WithElement(Kind.Subject.ToString(), key.ToLower()));

        Key[] keyArray = keys.ToArray();
        Entity requestEntity = new Entity
        {
            Key = this.keyFactory.CreateIncompleteKey(),
            // other properites...
            ["subjects"] = new ArrayValue(keyArray)
        };

1 个答案:

答案 0 :(得分:0)

与关系数据库中的方法相同。您只需创建其他多对多关系表。 https://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561

另一个选择是双面指针。在这种情况下,您需要在每个连接的实体中存储外键数组。在每个实体删除或连接更新上,您都需要从两侧更新此列表。

我宁愿采用第一种方法,因为它容易得多,但是在某些情况下,您可能会使用第二种方法。