我处于经典的旧情况 - 尝试返回一组我通过Linq查询到SQL的元素,但这取决于查询它们的DataContext。
我所看到的每个例子都添加了ToList(),我已经完成了,但它并没有解决它。我认为ToList()调用会强制对查询进行评估,但它似乎没有。
[WebMethod]
public List<WebService.Score> GetTopNScores(string gameName, int count)
{
using (var dc = new WebService.MyDataContext())
{
var q = from row in dc.GetTable<WebService.Score>()
where row.GameName == gameName
orderby row.ScoreValue descending
select row;
return q.Take(count).ToList();
}
}
我想避免DataLoadOptions并且必须为每列指定依赖项,因为数据库格式仍在不断发展,我需要为每次更改更新代码。
知道为什么ToList()调用不强制评估数据?我能尝试什么解决方案?