Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SingleorDefault的Linq查询语法差异_C#_.net_Linq_Hibernate - Fatal编程技术网

C# 使用SingleorDefault的Linq查询语法差异

C# 使用SingleorDefault的Linq查询语法差异,c#,.net,linq,hibernate,C#,.net,Linq,Hibernate,这个问题可能不太相关。这更多的是出于好奇而非其他原因 在速度方面,Option1比Option2有什么真正的优势吗 Option1 var avariable = session.Query<Someclass>() .SingleOrDefault(x => x.something == someotherThing); Option 2 var avariable = session.Query<Someclass

这个问题可能不太相关。这更多的是出于好奇而非其他原因

在速度方面,Option1比Option2有什么真正的优势吗

Option1 

var avariable = session.Query<Someclass>()
                       .SingleOrDefault(x => x.something == someotherThing);

Option 2

var avariable = session.Query<Someclass>()
                       .Where(x => x.something == someotherThing)
                       .SingleOrDefault();
选项1
var avariable=session.Query()
.SingleOrDefault(x=>x.something==something);
选择2
var avariable=session.Query()
.其中(x=>x.something==something)
.SingleOrDefault();

提前感谢

选项1打字更快


(它们都应该创建相同的sql,因此会产生相同的性能,选项1只是更简洁而已)

如果这是通过NHibernate数据库访问层提供程序运行的,则可能由它决定。我没有直接使用它,但如果它们都只是转换为一个HQL查询,那么我怀疑它们之间是否存在性能差异。说到性能,这是一本必读的书,感谢您的回答。大卫,我还没有试过。它只是经过一次重击之后才通过的。Chris,我也认为生成的HQL应该是相同的。史蒂夫,你说得对,我应该做个基准测试。