public override void Apply(ReadonlyGraph graph) { E dbItem = DbItem; if (dbItem == null) { throw new InvalidOperationException($"edge {Item.GetType().Name} was not created"); } Item.FromV = graph.FindById(DbItem.FromRid) as V ?? throw new NullReferenceException(); Item.ToV = graph.FindById(DbItem.ToRid) as V ?? throw new NullReferenceException(); Item.In = Item.ToV.Rid; Item.Out = Item.FromV.Rid; Item.FromV.OutE.Add(Item); Item.ToV.InE.Add(Item); Item.Rid = DbItem.Rid; graph.GraphItems[Item.GetType()].Add(Item); }