/// <summary> /// DiscriminatedCollectionColumnMap /// </summary> /// <param name="columnMap"></param> /// <param name="replacementVarMap"></param> /// <returns></returns> internal override ColumnMap Visit(DiscriminatedCollectionColumnMap columnMap, VarMap replacementVarMap) { ColumnMap newElementColumnMap = columnMap.Element.Accept(this, replacementVarMap); SimpleColumnMap newDiscriminator = (SimpleColumnMap)columnMap.Discriminator.Accept(this, replacementVarMap); SimpleColumnMap[] newKeys = VisitList(columnMap.Keys, replacementVarMap); SimpleColumnMap[] newForeignKeys = VisitList(columnMap.ForeignKeys, replacementVarMap); return(new DiscriminatedCollectionColumnMap(columnMap.Type, columnMap.Name, newElementColumnMap, newKeys, newForeignKeys, newDiscriminator, columnMap.DiscriminatorValue)); }
/// <summary> /// DiscriminatedCollectionColumnMap /// </summary> /// <param name="columnMap"></param> /// <param name="dumper"></param> /// <returns></returns> internal override void Visit(DiscriminatedCollectionColumnMap columnMap, Dump dumper) { using (new AutoXml(dumper, "DiscriminatedCollection", GetAttributes(columnMap))) { Dictionary <string, object> attrs = new Dictionary <string, object>(); attrs.Add("Value", columnMap.DiscriminatorValue); using (new AutoXml(dumper, "discriminator", attrs)) { columnMap.Discriminator.Accept(this, dumper); } DumpCollection(columnMap, dumper); } }
internal virtual void Visit(DiscriminatedCollectionColumnMap columnMap, TArgType arg) { columnMap.Discriminator.Accept(this, arg); foreach (SimpleColumnMap fk in columnMap.ForeignKeys) { fk.Accept(this, arg); } foreach (SimpleColumnMap k in columnMap.Keys) { k.Accept(this, arg); } columnMap.Element.Accept(this, arg); }
internal abstract TResultType Visit(DiscriminatedCollectionColumnMap columnMap, TArgType arg);