public void AddLinks(string propertyName, BaseEntity[] linkedEntities)
        {
            var adder = new EntityLinker ();

            foreach (var linkedEntity in linkedEntities) {
                adder.AddLink (this, propertyName, linkedEntity);
            }
        }
        public void Test_AddLink_OneWay_SingleEntity()
        {
            var source = new ExampleReferenceSource ();
            var target = new ExampleReferenceTarget ();

            var adder = new EntityLinker ();

            adder.AddLink (source, "Target", target);

            //Assert.IsNotNull (source.Target, "Link failed.");
            //Assert.IsNotNull (target.Left, "Reverse link failed.");
        }
        // TODO: Remove if not needed
        //[Test]
        public void Test_AddLink_TwoWay_SingleEntity()
        {
            var invoice = new ExampleInvoice ();
            var invoiceItem = new ExampleInvoiceItem ();

            var adder = new EntityLinker ();

            adder.AddLink (invoice, "Right", invoiceItem);

            Assert.IsNotNull (invoice.Items, "Link failed.");
            Assert.AreEqual(1, invoice.Items.Length, "Link failed.");
            Assert.IsNotNull (invoiceItem.Invoice, "Reverse link failed.");
        }
        public void AddLink(string propertyName, BaseEntity linkedEntity)
        {
            var adder = new EntityLinker ();

            adder.AddLink (this, propertyName, linkedEntity);
        }