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); }
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; }