Это старый, старый вопрос, но я полагаю, что я попробую, если он все еще ищет ответ. Это не автоматическое связывание и требует его изменения вручную в любое время, когда используется схема таблицы, но это то, что я понял:
public ActionResult returnJSON(string filter)
{
DataTable table = FindDataWhere(filter);
var data = new List<Dictionary<string, string>>();
foreach (DataRow row in table.Rows)
{
var foo = new Dictionary<string, string>();
location.Add("Col1", (string)row["Col1"]);
location.Add("Col2", (string)row["Col2"]);
location.Add("Col3", (string)row["Col3"]);
data.Add(foo);
}
return Json(data);
}