C# 从数据库asyn获取数据时,EF 6的哪种方法更好?

C# 从数据库asyn获取数据时,EF 6的哪种方法更好?,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我有下一个密码 public async Task<IEnumerable<MyTabel>> GetData() { try { var dbCtx = new myEntities(); return await dbCtx.MyTabel.ToListAsync(); //return await dbCt

我有下一个密码

public async Task<IEnumerable<MyTabel>> GetData()
        {
            try
            {
                var dbCtx = new myEntities();

                return await dbCtx.MyTabel.ToListAsync();
                //return await dbCtx.MyTabel.ToArrayAsync();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
公共异步任务GetData() { 尝试 { var dbCtx=新的myEntities(); return wait dbCtx.MyTabel.ToListAsync(); //返回wait dbCtx.MyTabel.ToArrayAsync(); } 捕获(例外情况除外) { 掷骰子; } } 我想知道什么是ToListSync或ToArrayAsync方法更适合性能? 有人知道吗

谢谢

更新

对我来说,性能是等价的—内存使用量更少,查询时间更快,并发性更高

ToList()
ToArray()
更快,因为一旦知道大小,就需要再次复制阵列。(与列表不同,数组不能有额外的空间)
异步版本也是如此

但是,您可能根本不需要此功能。
除非您确实需要获取客户端上的所有数据,否则使用LINQ to实体在数据库中运行SQL查询将更加高效。

ToList()
ToArray()
更快,因为一旦知道数组的大小,就需要再次复制数组。(与列表不同,数组不能有额外的空间)
异步版本也是如此

但是,您可能根本不需要此功能。
除非您确实需要获取客户端上的所有数据,否则使用LINQ to实体在数据库中运行SQL查询将更加高效。

。摆脱障碍,这里“更好”是非常主观的。什么定义“更好的性能”?更少的内存使用?更快的查询时间?更高的并发性?你需要更具体地说明你试图优化的目标。。摆脱障碍,这里“更好”是非常主观的。什么定义“更好的性能”?更少的内存使用?更快的查询时间?更高的并发性?你需要更具体地说明你试图优化的目标。