/// <summary>
        /// Maps DBML to SchemaModel for Transport
        /// </summary>
        /// <param name="dbml"></param>
        /// <returns></returns>
        public SchemaModel MapSchemaModel(DbmlModel dbml)
        {
            var sm = new SchemaModel();

            try
            {
                sm.Name = dbml.Tables.FirstOrDefault()?.Value.Schema;
                foreach (var table in dbml.Tables)
                {
                    var columns = (from column in dbml.Columns.Where(s => s.Key == table.Key)
                                   from c in column.Value.SerializedData
                                   select new Column()
                    {
                        Key = c.Key,
                        Attribute = new ColumnAttribute()
                        {
                            HasDefault = c.Value.HasDefault,
                            IsAutonumber = c.Value.IsAutonumber,
                            IsNullable = c.Value.IsNullable,
                            IsPrimaryKey = c.Value.IsPrimaryKey,
                            Type = c.Value.TypeInfo.Value
                        }
                    }).ToList();

                    var t = new Table
                    {
                        Key     = table.Key,
                        Name    = table.Value.Name,
                        Type    = table.Value.Type,
                        Columns = columns
                    };
                    sm.Tables.Add(t);
                }
            }
            catch (Exception e)
            {
            }



            return(sm);
        }
        /// <summary>
        /// Converts DBML JSON to DbmlModel
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public DbmlModel MapDbmlModel(string filePath)
        {
            var dbml = new DbmlModel();

            try
            {
                if (File.Exists(filePath))
                {
                    dbml = JsonConvert.DeserializeObject <DbmlModel>(File.ReadAllLines(filePath)[0]);
                    File.Delete(filePath);
                }
            }
            catch (Exception e)
            {
            }



            return(dbml);
        }