private bool UpdateEntities()
        {
            if (SourceDatabase == null)
            {
                return(false);
            }

            Configuration.Instance.CleanExpressions.Clear();
            foreach (string clean in CleanExpressions)
            {
                if (!String.IsNullOrEmpty(clean))
                {
                    Configuration.Instance.CleanExpressions.Add(new Regex(clean, RegexOptions.IgnoreCase));
                }
            }

            Configuration.Instance.IgnoreExpressions.Clear();
            foreach (string ignore in IgnoreExpressions)
            {
                if (!String.IsNullOrEmpty(ignore))
                {
                    Configuration.Instance.IgnoreExpressions.Add(new Regex(ignore, RegexOptions.IgnoreCase));
                }
            }

            Configuration.Instance.IncludeExpressions.Clear();
            foreach (string include in IncludeExpressions)
            {
                if (!String.IsNullOrEmpty(include))
                {
                    Configuration.Instance.IncludeExpressions.Add(new Regex(include, RegexOptions.IgnoreCase));
                }
            }

            if (Configuration.Instance.IncludeExpressions.Count == 0)
            {
                Configuration.Instance.IncludeExpressions.Add(new Regex(".*"));
            }

            var provider = new SchemaExplorerEntityProvider(SourceDatabase);

            _entities = new EntityManager(provider).Entities;

            return(true);
        }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            string databaseName = "PetShop";

            Configuration.Instance.IncludeFunctions = true;
            Configuration.Instance.IncludeViews     = true;

            Configuration.Instance.CleanExpressions.Add(new Regex("^(sp|tbl|udf|vw|se)_", RegexOptions.IgnoreCase));
            Configuration.Instance.IgnoreExpressions.Add(new Regex("^dbo.sysdiagrams$", RegexOptions.IgnoreCase));
            Configuration.Instance.IgnoreExpressions.Add(new Regex("^dbo.aspnet", RegexOptions.IgnoreCase));
            Configuration.Instance.IgnoreExpressions.Add(new Regex("^dbo.vw_aspnet", RegexOptions.IgnoreCase));

            var database = new DatabaseSchema(new SqlSchemaProvider(), String.Format(@"Data Source=.;Initial Catalog={0};Integrated Security=True", databaseName))
            {
                DeepLoad = true
            };
            var provider = new SchemaExplorerEntityProvider(database);
            var manager  = new EntityManager(provider);

            foreach (var entity in manager.Entities)
            {
                if (entity.Associations.Count == 0)
                {
                    continue;
                }

                Console.WriteLine("{0}-{1}", entity.TypeAccess, entity.Name);
                foreach (var association in entity.Associations)
                {
                    Console.WriteLine(String.Format("   {0} IsParent: {1}, AssociationType: {2}, Properties: {3}, Entity Properties: {4}, Foreign Entity Properties: {5}, AssociationKeyName: {6}", association.AssociationKeyName, association.IsParentEntity, association.AssociationType, association.Properties.Count, association.Entity.Properties.Count, association.ForeignEntity.Properties.Count, association.AssociationKeyName));
                }

                Console.WriteLine();
            }

            Console.ReadLine();
        }
        private bool UpdateEntities()
        {
            if (SourceDatabase == null)
                return false;

            Configuration.Instance.CleanExpressions.Clear();
            foreach (string clean in CleanExpressions) {
                if (!String.IsNullOrEmpty(clean)) {
                    Configuration.Instance.CleanExpressions.Add(new Regex(clean, RegexOptions.IgnoreCase));
                }
            }

            Configuration.Instance.IgnoreExpressions.Clear();
            foreach (string ignore in IgnoreExpressions) {
                if (!String.IsNullOrEmpty(ignore)) {
                    Configuration.Instance.IgnoreExpressions.Add(new Regex(ignore, RegexOptions.IgnoreCase));
                }
            }

            Configuration.Instance.IncludeExpressions.Clear();
            foreach (string include in IncludeExpressions) {
                if (!String.IsNullOrEmpty(include)) {
                    Configuration.Instance.IncludeExpressions.Add(new Regex(include, RegexOptions.IgnoreCase));
                }
            }

            if (Configuration.Instance.IncludeExpressions.Count == 0)
                Configuration.Instance.IncludeExpressions.Add(new Regex(".*"));

            var provider = new SchemaExplorerEntityProvider(SourceDatabase);
            _entities = new EntityManager(provider).Entities;

            return true;
        }