我有一個方法給了我一個對象列表例如使用語句的範圍
public IEnumerable<Person> GetPerson()
{
using (myEntities ctx = new myEntities())
{
return ctx.Person.Where(x => x.Age < 50);
}
}
別的地方當我打電話FirstOrDefault()
選擇被genereated和數據從數據庫中檢索我用這個方法
public void Main()
{
var pList = GetPerson();
pList = pList.Where(x => x.Age < 40);
Person Item = pList.FirstOrDefault(); //materialization here
}
。
問題:using (myEntities ctx = new myEntities())
的範圍是否達到物化?
一方面,它的理由是因爲它管理數據庫的選擇/連接,並且在實現中生成 - 另一方面,它在方法外調用,可能在代碼中的任何地方 - 在使用之外指令
我已經編輯你的問題的標題,因爲這是一個使用*語句*,而不是使用*指令*。 –
您是否嘗試執行該代碼,它工作? –