我记得有一位朋友告诉我,我可以把任何内容扔进JSON.NET并将它们序列化为JSON格式。
public string GetRecords(string apiKey, DateTime start, DateTime end)
{
var user = db.Users.SingleOrDefault(u => u.Id == apiKey);
if (user == null)
{
return string.Empty;
}
var records = db.Histories.Where(h => h.Date >= start && h.Date <= end);
JavaScriptSerializer s = new JavaScriptSerializer();
return JsonConvert.SerializeObject(records);
}
但现在我有一个例外:
已经有一个与此命令关联的开放DataReader 必须先关闭。
请帮忙。
答案 0 :(得分:3)
在记录上调用.ToList()
,然后再将其传递给JsonConvert.SerializeObject
答案 1 :(得分:0)
您可能没有在配置文件中启用多个活动结果集(MARS)。
关注此link
基本上需要添加
"MultipleActiveResultSets=True"
或者您可以按照3dd
的建议急切加载更多帮助There is already an open DataReader associated with this Command which must be closed first