【发布时间】:2012-09-02 16:16:39
【问题描述】:
我有一个gridview,它的数据源是以下函数:
public static List<Train> GetTrainsByIDs(int [] ids) {
using (var context = new MyEntities())
{
return ids.Select(x => context.Trains.Single(y => y.TrainID ==x)).AsQueryable().Include(x=>x.Station).ToList();
}
}
网格视图的 ItemTemplate 为 <%# Eval("Station.Name") %>。
尽管我使用了 include 方法,但这会导致错误 The ObjectContext instance has been disposed and can no longer be used for operations that require a connection。
当我将功能更改为
public static List<Train> GetTrainsByIDs(int [] ids) {
using (var context = new MyEntities())
{
return context.Trains.Where(x => ids.Contains(x.TrainID)).Include(x=>x.Station).ToList();
}
}
它工作正常,但是它们以错误的顺序出现,而且如果我有 2 个相同的 ID,我希望列表中有 2 个相同的火车。
除了创建一个新的视图模型,我还能做些什么吗?感谢您的帮助
【问题讨论】:
标签: c# entity-framework gridview lazy-loading