Linq以SQL最快的方式检索单个记录

时间:2012-06-02 23:56:49

标签: c# .net linq-to-sql

以下两个查询之间是否有任何性能差异?

CustomerProduct customerProduct = db.CustomerProducts.SingleOrDefault(p => object.Equals(p.Customer, this));

CustomerProduct customerProduct = (from p in db.CustomerProducts where object.Equals(p.Customer, this) select p).SingleOrDefault();

也许还有另一个,甚至更快的一个?

1 个答案:

答案 0 :(得分:1)

在编译方面,它们应编译成相同的代码; Linq只是编译器将为您解释的语法糖。话虽如此,并非所有linq查询都将按照您期望的方式进行编译,无论您是否应始终使用ObjectQuery强制转换+ ToTraceString方法检查生成的sql。