我有一个 Neo4jClient 的 Friend 关系类,我想用它来管理我的社交网站上的朋友。我没有为每个可能的朋友状态(请求、接受、拒绝、阻止)创建单独的关系,而是在我的朋友关系类中添加了一个属性。但是,当使用 Neo4jClient 序列化该类时,它不会在关系上创建Status属性。
这是我的关系类:
/// <summary>
/// Friendship relationship - User is a friend of a User with a Status of REQUESTED, ACCEPTED, DENIED, BLOCKED
/// </summary>
public class Friend : Relationship, IRelationshipAllowingSourceNode<User>,
IRelationshipAllowingTargetNode<User>
{
public static readonly string TypeKey = "FRIEND";
public string Status { get; set; }
public Friend(NodeReference targetNode)
: base(targetNode)
{ }
public override string RelationshipTypeKey
{
get { return TypeKey; }
}
}
这是我创建关系的代码:
client.CreateRelationship(user, Friend(requestedUser) { Status = "REQUESTED" });
我希望以后能够查询所有 Friend 关系并根据 Status 属性返回不同的集合。我还希望能够更新好友关系的 Status 属性。请告知应该如何正确添加 Status 属性。