我需要在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)
};
答案 0 :(得分:0)
与关系数据库中的方法相同。您只需创建其他多对多关系表。 https://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561
另一个选择是双面指针。在这种情况下,您需要在每个连接的实体中存储外键数组。在每个实体删除或连接更新上,您都需要从两侧更新此列表。
我宁愿采用第一种方法,因为它容易得多,但是在某些情况下,您可能会使用第二种方法。