如何提高性能EF Linq to Entities

Gib*_*boK 2 c# linq performance entity-framework

我使用asp.net 4 c#和EF 4.

我正在分析我的申请.我有这个代码,结果很昂贵.

我想知道你是否知道更好的写作方式.我需要加快速度.

            string htmlhead = context.CmsOptions.SingleOrDefault(op => op.OptionId == 7).Value;
            if (htmlhead != null)
                uxHtmlHead.Text = htmlhead;
            else
                uxHtmlHead.Text = "No Html Head.";
Run Code Online (Sandbox Code Playgroud)

谢谢

有用的文章 http://weblogs.asp.net/zeeshanhirani/archive/2010/09/20/which-one-is-faster-singleordefault-or-firstordefault.aspx

Pan*_*yay 13

使用FirstOrDefault()...一旦找到结果,它将立即退出.

另一方面,SingleOrDefault()在整个集合中搜索单个结果,如果查找到多个结果,则抛出异常

  • 谢谢,我做了一些测试,FirstOrDefault似乎更快:SINGLEORDEFAULT stopWatch.Elapsed = {00:00:02.5203​​217} FIRSTORDEFAULT stopWatch.Elapsed = {00:00:00.5238185} (3认同)
  • 不确定以前的版本,在EF6中它使用选择前2为SingleOrDefault,如果它返回2个记录,它会抛出异常. (2认同)