示例#1
0
        protected void VisitEntityIdentity(EntityIdentity entityIdentity, TArgType arg)
        {
            DiscriminatedEntityIdentity dei = entityIdentity as DiscriminatedEntityIdentity;

            if (null != dei)
            {
                VisitEntityIdentity(dei, arg);
            }
            else
            {
                VisitEntityIdentity((SimpleEntityIdentity)entityIdentity, arg);
            }
        }
示例#2
0
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="type">column datatype</param>
 /// <param name="name">column name</param>
 /// <param name="entityIdentity">entity identity information</param>
 /// <param name="properties">list of properties</param>
 internal EntityColumnMap(md.TypeUsage type, string name, ColumnMap[] properties, EntityIdentity entityIdentity)
     : base(type, name, properties)
 {
     Debug.Assert(entityIdentity != null, "Must specify an entity identity");
     m_entityIdentity = entityIdentity;
 }
        /// <summary>
        /// RefColumnMap
        /// </summary>
        /// <param name="columnMap"></param>
        /// <param name="replacementVarMap"></param>
        /// <returns></returns>
        internal override ColumnMap Visit(RefColumnMap columnMap, VarMap replacementVarMap)
        {
            EntityIdentity newEntityIdentity = VisitEntityIdentity(columnMap.EntityIdentity, replacementVarMap);

            return(new RefColumnMap(columnMap.Type, columnMap.Name, newEntityIdentity));
        }