我的dal中有这段代码;
public List<BDO_Enquiry> GetEnquiryList()
{
List<BDO_Enquiry> retList = new List<BDO_Enquiry>();
try
{
using (var context = new BDODevelopmentEntities())
{
try
{
retList = context.BDO_Enquiry.ToList();
}
catch (Exception ex) { string g = ""; }
}
} catch(Exception ex) { string h = ""; }
return retList;
}
但是,当我返回到我的业务逻辑时,不会加载ret列表中的所有子项。
所以我有一个雇员对象,并且有一个雇主对象。
返回员工对象,但没有雇主子对象。当我尝试访问它们时,我当然得到错误System.ObjectDisposedException
我如何进行查询并让所有孩子都回来?
答案 0 :(得分:1)
...试
#include "stdafx.h"
#include "List.h"
#include "Node.h"
template <typename Type>
List<Type>::List()
{
head = NULL;
tail = NULL;
count = 0;
}
template <typename Type>
List<Type>::~List()
{
}
template <typename Type>
bool List<Type>::empty()
{
return count == 0;
}
template <typename Type>
int List<Type>::size()
{
return count;
}
template <typename Type>
void List<Type>::push_front(const Type &d)
{
Node *new_head = new Node(d, NULL, head);
if (this->empty())
{
head = new_head;
tail = new_head;
}
else
{
head->prev = new_head;
head = new_head;
}
count++;
}
template <typename Type>
void List<Type>::push_back(const Type &d)
{
Node *new_tail = new Node(d, NULL, tail);
if (this->empty())
{
head = new_tail;
tail = new_tail;
}
else
{
tail->next = new_tail;
tail = new_tail;
}
count++;
}
template <typename Type>
void List<Type>::DisplayContents()
{
Node *current = head;
for (int i = 0; i <= this->size; i++)
{
cout << current->data << " ";
current = current->next;
}
}
</pre></code>
这将加载Child和AnotherChild作为一个查询的一部分。如果您尝试在using语句中访问实体的导航属性,则会看到执行加载导航属性的SQL请求以按需加载导航属性。退出using语句后,上下文将关闭,导航属性不再按需加载。