เราคืนค่า LINQ query results
เป็น List<T> หรือ
IQueryable<T>
List<T>
จะสร้าง new list ในหน่วยความจำทันที เพื่อคงข้อมูลเอาไว้
และถ้ามีความสัมพันธ์ใดๆใน table ความสัมพันธ์ของข้อมูลจะเป็น null
IQueryable<T>
จะไม่ดึงข้อมูลออกมาจนกว่าจะมีการเรียกข้อมูลซ้ำๆกันหลายๆรอบใน
data source โดยใช้ foreach,
DataBind,
ToList,
และอื่นๆ
และถ้ามีความสัมพันธ์ใดๆใน table ข้อมูลที่มีความสัมพันธ์กันจะไม่เป็น null
และสามารถนำมาใช้ได้
// Return List<T> will fail when referring to related UserInfos object.
List<user></user> users = res.ToList<user></user>();
var ss = users.Where<user></user>(p
=> p.UserInfos.ID
!= 3);
// Return IQueryable<T> will be successful.
IQueryable<user></user> users = res.AsQueryable<user></user>();
var ss = users.Where<user></user>(p
=> p.UserInfos.ID
!= 3);
</user><//user></user><//user></user><//user></user><//user></user><//user></user><//user>
Supa Sethasiripong [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.