示例#1
0
        private Node<Actor> EnsureActorIsInDb(GraphClient db)
        {
            if (!db.CheckIndexExists("Actors", IndexFor.Node))
            {
                db.CreateIndex("Actors",
                    new IndexConfiguration { Provider = IndexProvider.lucene, Type = IndexType.exact },
                    IndexFor.Node);
            }

            var actor = db.RootNode
                .Out<Actor>(ObjectBelongsTo.TypeKey, i => i.ActorName == this.ActorName)
                .FirstOrDefault();

            if (actor == null)
            {
                var actorRef = db.Create<Actor>(this, new ObjectBelongsTo(db.RootNode));
                actor = db.Get<Actor>(actorRef);
            }

            return actor;
        }