C# 使用';其中';与';FirstOrDefaultAsync';只有';FirstOrDefaultAsync';?
我遇到过使用两个不同语句从DB检索项的代码 首先C# 使用';其中';与';FirstOrDefaultAsync';只有';FirstOrDefaultAsync';?,c#,database,entity-framework,linq,C#,Database,Entity Framework,Linq,我遇到过使用两个不同语句从DB检索项的代码 首先 _dbContext.Storage.AsNoTracking().Where(i => i.FkUser == UserId).FirstOrDefaultAsync().ConfigureAwait(false); 第二 _dbContext.Storage.AsNoTracking().FirstOrDefaultAsync(i => i.FkUser == UserId).ConfigureAwait(false); 我更
_dbContext.Storage.AsNoTracking().Where(i => i.FkUser == UserId).FirstOrDefaultAsync().ConfigureAwait(false);
第二
_dbContext.Storage.AsNoTracking().FirstOrDefaultAsync(i => i.FkUser == UserId).ConfigureAwait(false);
我更想了解的是,这两个代码片段在执行、性能和内存使用方面是否存在差异
注意:应用程序是在.netcore中创建的,并使用EF进行DB操作
我的经验告诉我,这两段代码是相同的。不应该有任何区别。如果你确实需要知道:运行SQL分析器,但是:它肯定意味着组合到相同的内容查询将是相同的。可能会有轻微的开销(非常小),因为两个函数
其中,FirstOrDefault
将在一个函数上调用,而在另一个函数上只调用FirstOrDefault
。