Beispiel #1
0
        private static MappingFragment FindConditionTypeMappingFragment(
            EntitySet tableSet,
            MappingFragment propertiesTypeMappingFragment,
            EntityTypeMapping conditionTypeMapping)
        {
            EntityType      table           = tableSet.ElementType;
            MappingFragment mappingFragment = conditionTypeMapping.MappingFragments.SingleOrDefault <MappingFragment>((Func <MappingFragment, bool>)(x => x.Table == table));

            if (mappingFragment == null)
            {
                mappingFragment = EntityMappingOperations.CreateTypeMappingFragment(conditionTypeMapping, propertiesTypeMappingFragment, tableSet);
                mappingFragment.SetIsConditionOnlyFragment(true);
                if (propertiesTypeMappingFragment.GetDefaultDiscriminator() != null)
                {
                    mappingFragment.SetDefaultDiscriminator(propertiesTypeMappingFragment.GetDefaultDiscriminator());
                    propertiesTypeMappingFragment.RemoveDefaultDiscriminatorAnnotation();
                }
            }
            return(mappingFragment);
        }