protected virtual void GetEntityPrefixes(Type entityType, out string namespacePrefix, out string columnPrefix)
        {
            TablePrefixAttribute tablePrefixAttribute = (TablePrefixAttribute)
                                                        entityType.GetCustomAttributes(typeof(TablePrefixAttribute)).FirstOrDefault();

            columnPrefix    = tablePrefixAttribute?.ColumnPrefix;
            namespacePrefix = tablePrefixAttribute?.NamespacePrefix;
        }
        private void PrefixEntitiesRecursive(IMutableEntityType entity, TablePrefixAttribute entityPrefixAttribute, string tableName)
        {
            entity.Relational().TableName = tableName;
            PrefixColumnNames(entity, entityPrefixAttribute?.NamespacePrefix, entityPrefixAttribute?.ColumnPrefix);

            foreach (var child in entity.GetDerivedTypes())
            {
                var childPrefixAttribute = GetTablePrefixAttribute(child);
                PrefixEntitiesRecursive(child, childPrefixAttribute, tableName);
            }
        }
Exemple #3
0
        public static string GetTableName(Type type)
        {
            TableAttribute tableAttr = type.GetCustomAttribute <TableAttribute>(true);

            if (tableAttr != null)
            {
                return(tableAttr.Name);
            }

            TablePrefixAttribute tablePrefixAttr = type.GetCustomAttribute <TablePrefixAttribute>(true);

            if (tablePrefixAttr != null)
            {
                return(tablePrefixAttr.Name + type.Name);
            }

            return(type.Name);
        }
Exemple #4
0
        private void PrefixEntitiesRecursive(IMutableEntityType entity, TablePrefixAttribute entityPrefixAttribute, string tableName)
        {
            if (entity.BaseType == null)
            {
                entity.SetTableName(tableName);
            }

            PrefixColumnNames(entity, entityPrefixAttribute?.NamespacePrefix, entityPrefixAttribute?.ColumnPrefix);

            foreach (var child in entity.GetDerivedTypes())
            {
                if (child.BaseType != entity)
                {
                    continue;
                }

                var childPrefixAttribute = GetTablePrefixAttribute(child);
                PrefixEntitiesRecursive(child, childPrefixAttribute, tableName);
            }
        }