簡體   English   中英

Linq-To-Sql數據庫調用

[英]Linq-To-Sql database calls

我找不到答案。 我確信答案很簡單,我認為我不是在尋找合適的東西。

我有一個帶有兩個表的.dbml文件:Employees和Departments。 兩者之間存在關系,員工有一個DepartmentID。

無論如何,我在我的代碼中這樣做:

Employee emp = Employee.Get(123);

string fname = emp.FirstName;
string lname = emp.LastName;
string deptName = emp.Department.Name;
string deptCode = emp.Department.Code;

我想知道的是,每當我打電話給emp.Department ,是打電話給數據庫嗎? 或者在創建Employee對象時加載了所有信息?

當您第一次訪問emp.Department.Name時,它會訪問數據庫,除非關閉延遲加載

當你在下一個語句中說emp.Department.Code時,它將不會再次出現,它已經在內存中獲得了Deparment對象。

這個答案更詳細地解釋了它。

你可能想看

查詢僅執行一次以檢索數據。 之后,它將在內存中的上下文中進行跟蹤。

您可以使用SQL事件探查器驗證這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM