0

以下两个查询之间是否存在性能差异?

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();

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

4

1 回答 1

1

在编译方面,应该编译成相同的代码;Linq 只是编译器将为您解释的语法糖。话虽如此,并非所有 linq 查询都会按照您期望的方式编译,并且无论如何您都应该始终使用ObjectQuerycast +ToTraceString方法检查生成的 sql。

于 2012-06-03T01:35:19.920 回答