Example #1
0
        private List <DataBaseRelationShip> ReadSqlRelationships(SqlConnection cnx, DataBaseTable table)
        {
            var result = new List <DataBaseRelationShip>();

            using (var cmd = new SqlCommand(QuerySqlRelationship(table), cnx))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var relationShip = new DataBaseRelationShip
                        {
                            SchemaPK = reader["SchemaPK"].ToString(),
                            TablePK  = reader["TablePK"].ToString(),
                            ColumnPK = reader["ColumnPK"].ToString(),

                            SchemaFK = reader["SchemaFK"].ToString(),
                            TableFK  = reader["TableFK"].ToString(),
                            ColumnFK = reader["ColumnFK"].ToString(),

                            Type     = reader["Type"].ToString() == "M" ? DataBaseRelationShipType.Many : DataBaseRelationShipType.Single,
                            Nullable = reader["Nullable"].ToString() == "1"
                        };

                        result.Add(relationShip);
                    }
                }
            }

            return(result);
        }
        private string ProcessRelationShipName(DataBaseRelationShip relationShip, string defaultName)
        {
            if (Config.CSharp.EntityFramework.Rewrite == null)
            {
                return(defaultName);
            }

            var rewrite = Config.CSharp.EntityFramework.Rewrite.FirstOrDefault(c =>
                                                                               c.SchemaPK == relationShip.SchemaPK &&
                                                                               c.TablePK == relationShip.TablePK &&
                                                                               c.ColumnPK == relationShip.ColumnPK &&
                                                                               c.SchemaFK == relationShip.SchemaFK &&
                                                                               c.TableFK == relationShip.TableFK &&
                                                                               c.ColumnFK == relationShip.ColumnFK);

            if (rewrite != null)
            {
                return(rewrite.CustomName);
            }

            return(defaultName);
        }