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