标题是在使用LINQ2SQL使用以下方法生成数据后访问连接对象后抛出的异常:
public static bool Get(int skip, int take, ListSortDirection direction, out List<Post> posts)
{
bool result;
using (var db = new MyDataContext())
{
try
{
posts = db.Posts
.Where(p => !p.IsDeleted)
.OrderBy(p => p.DateTimeCreated, direction)
.Skip(skip)
.Take(take)
.ToList();
result = true;
}
catch (Exception)
{
// Log the exception
posts = new List<Post>();
result = false;
}
}
return result;
}
下面是我所指的连接对象的示例。在上面的方法中,我选择了一组帖子,并且Userprofile表的userprofileID被加入(在.dbml和数据库服务器中)到Post表的UserprofileID。
问题在于,当我检查生成的帖子集合时,链接的Userprofile会返回以下异常:
new System.Collections.Generic.Mscorlib_CollectionDebugView(posts).Items [0] .Userprofile'抛出类型为'System.ObjectDisposedException'的异常
我已尝试在datacontext中禁用DeferredLoadingEnabled属性并使用DataLoadOptions:
var dlo = new DataLoadOptions();
dlo.LoadWith<Post>(p => p.Userprofile);
db.LoadOptions = dlo;
导致了同样的例外;
谢谢!
答案 0 :(得分:0)
想出来。在datacontext的部分版本中的onCreate事件处理程序中,我添加了DataLoadOptions。不知道为什么它不在这个方法中工作(胖手指可能),但这就是我想出来的。
{{1}}
......对于那些在没有发表评论的情况下投票给我两次的人 - 帮我一个忙,然后成长一对。