You have to use the AspMap.DataSource class instead of data tables to add a relate from a map file to a database table. There is the ChartMapApp sample in AspMap 4.7:
AspMap.Layer layer = map.AddLayer(MapPath("states.shp"));
AspMap.DataSource dataSource = new AspMap.DataSource();
dataSource.ConnectionString = "Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes";
dataSource.CommandText = "SELECT * FROM demography";
if (!layer.AddRelate("STATE_ABBR", dataSource, "STATE_ABBR"))
throw new Exception("Cannot add a relate");
AspMap.ChartRenderer chartRenderer = layer.ChartRenderer;
chartRenderer.Add("POP1990", Color.Red); // POP1990 is from the SQL Server database
chartRenderer.Add("POP1997", Color.Green); // POP1997 is from the SQL Server database
chartRenderer.ChartType = ChartType.Pie;
chartRenderer.MinPieSize = 40;
chartRenderer.MaxPieSize = 60;