Middle
Include არის სწრაფი, ნელი თუ გამჭვირვალე დატვირთვა?
sobes.tech AI
პასუხი AI-სგან
Entity Framework-ში Include არის მექანიზმი მოთხოვნადი დატვირთვის (Eager Loading).
მოთხოვნადი დატვირთვა ნიშნავს, რომ დაკავშირებული ერთეულები იტვირთება მონაცემთა ბაზიდან ერთად მოთხოვნილ ერთეულთან ერთად ერთ ან რამდენიმე შეკითხვაში პირველ წვდომაზე მონაცემებზე.
მისი გამოყენება თავიდან აცილებს "N+1 შეკითხვების" პრობლემას, რომელიც შეიძლება წარმოიშვას მავნე დატვირთვის დროს, როდესაც თითოეულ დაკავშირებულ ერთეულზე წვდომისთვის შესრულდება ცალკეული შეკითხვა მონაცემთა ბაზაში.
სინტაქსი:
// სწრაფი დატვირთვა შეკვეთებთან ერთად მომხმარებლების
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
შედარება სხვა დატვირთვის ტიპებთან:
| ტიპი | აღწერა | როდის გამოიყენოთ |
|---|---|---|
| მოთხოვნადი (Include) | დაკავშირებული მონაცემების დატვირთვა ერთ ან რამდენიმე შეკითხვაში ძირითადი მონაცემებისთან ერთად. | როდესაც დაკავშირებული მონაცემები მეტწილად ყოველთვის საჭიროა. |
| ნელი (Lazy) | დაკავშირებული მონაცემების მხოლოდ პირველი წვდომისას დატვირთვა. | როდესაც დაკავშირებული მონაცემები ყოველთვის საჭირო არ არის. |
| გამარტივებული (Explicit) | დაკავშირებული მონაცემების ხელით დატვირთვა ძირითადი ობიექტის მიღების შემდეგ. | როდესაც დაკავშირებული მონაცემები საჭიროა სწორად განსაზღვრულ დროს ძირითადი ობიექტის დატვირთვის შემდეგ. |