创建节点 Sensenet 时添加引用
Add reference when creating node Sensenet
我正在使用 sensenet,当我在服务器端的代码隐藏中创建节点时,我遇到了一些困惑,我需要向我的节点添加一个引用字段,但我不知道如何这样做。
我试过类似 node["user"] = node1
但是没用。
你应该阅读它的文档
我发现要添加一个参考字段,你应该使用这样的东西
node.Addreferences("User", user1);
user1 是代表您需要在您的字段中引用的用户的一个节点
Sensenet 中的所有内容(数据)都被构造为 binary tree where a Node refers to a particular Content object as specified in it's Content Type Definition (CTD)。当一个节点引用另一个节点时——也就是说,它指向树中的另一个位置——它可以是两种类型之一。
- 它可以指向任何节点,或者
- 可以限制为
CTD 中指定的特定类型。
如果你正确地分配了一个Reference但是得到一个错误,很可能你违反了CTD中的类型限制。请参阅下面的示例。
特定类型参考节点的CTD(部分)
<ContentType name="Agent" parentType="GenericContent" handler="Code.ContentHandlers.Agent" xmlns="http://schemas.sensenet.com/SenseNet/ContentRepository/ContentTypeDefinition">
<DisplayName>Agent</DisplayName>
<Icon>Content</Icon>
<Fields>
<Field name="Category" type="Reference">
<DisplayName>Agent Category</DisplayName>
<Description></Description>
<Configuration>
<AllowedTypes>
<Type>AgentCategory</Type>
</AllowedTypes>
<VisibleBrowse>Show</VisibleBrowse>
</Configuration>
</Field>
</Fields>
</ContentType>
将节点分配给上面定义的类别引用的示例 C# 代码。
var path = "/Root/PathToAgentCategory";
var agentCat = Node.LoadNode(path) as AgentCategory;
myAgentNode.Category = agentCat; // Syntax if you have a ContentHandler
myAgentNode["Category"] = agentCat; // Syntax for the GenericContent ContentHandler
我正在使用 sensenet,当我在服务器端的代码隐藏中创建节点时,我遇到了一些困惑,我需要向我的节点添加一个引用字段,但我不知道如何这样做。
我试过类似 node["user"] = node1
但是没用。
你应该阅读它的文档 我发现要添加一个参考字段,你应该使用这样的东西
node.Addreferences("User", user1);
user1 是代表您需要在您的字段中引用的用户的一个节点
Sensenet 中的所有内容(数据)都被构造为 binary tree where a Node refers to a particular Content object as specified in it's Content Type Definition (CTD)。当一个节点引用另一个节点时——也就是说,它指向树中的另一个位置——它可以是两种类型之一。
- 它可以指向任何节点,或者
- 可以限制为 CTD 中指定的特定类型。
如果你正确地分配了一个Reference但是得到一个错误,很可能你违反了CTD中的类型限制。请参阅下面的示例。
特定类型参考节点的CTD(部分)
<ContentType name="Agent" parentType="GenericContent" handler="Code.ContentHandlers.Agent" xmlns="http://schemas.sensenet.com/SenseNet/ContentRepository/ContentTypeDefinition">
<DisplayName>Agent</DisplayName>
<Icon>Content</Icon>
<Fields>
<Field name="Category" type="Reference">
<DisplayName>Agent Category</DisplayName>
<Description></Description>
<Configuration>
<AllowedTypes>
<Type>AgentCategory</Type>
</AllowedTypes>
<VisibleBrowse>Show</VisibleBrowse>
</Configuration>
</Field>
</Fields>
</ContentType>
将节点分配给上面定义的类别引用的示例 C# 代码。
var path = "/Root/PathToAgentCategory";
var agentCat = Node.LoadNode(path) as AgentCategory;
myAgentNode.Category = agentCat; // Syntax if you have a ContentHandler
myAgentNode["Category"] = agentCat; // Syntax for the GenericContent ContentHandler