gpt4 book ai didi

c# - linq-to-sql 或 linq 在什么时候向数据库发送请求

转载 作者:行者123 更新时间:2023-11-30 19:50:33 26 4
gpt4 key购买 nike

我想让我的查询更好,但一直无法找到一个资源,该资源在将查询发送到数据库时进行布局。

DBContext db = new DBContext();
Order _order = (from o in db
where o.OrderID == "qwerty-asdf-xcvb"
select o).FirstOrDefault();
String _custName = _order.Customer.Name +" "+_order.Customer.Surname;

_custName的赋值是否需要对数据库进行任何请求?

最佳答案

Does the assignment of _custName need to make any request to the database?

这取决于 Order.Customer 是否延迟加载。如果它是延迟加载的,那么是的。否则,不。

顺便说一句,如果您设置 DataContext.Log 属性,您可以很容易地对此进行调查:

db.Log = Console.Out;

然后就可以在控制台看到SQL语句了。通过逐步执行您的程序,您可以准确地看到 SQL 语句何时到达数据库。

Deferred versus Immediate Loading 上查看 MSDN .特别是,您可以 turn off lazy loading .注意 SELECT N + 1 problem .

关于c# - linq-to-sql 或 linq 在什么时候向数据库发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2158882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com