asp.net EF6的哪种方法更适合从数据库asyn中获取数据?

o7jaxewo  于 2022-12-15  发布在  .NET
关注(0)|答案(1)|浏览(132)

我有下一个代码

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;
            }
        }

我想知道什么是ToListAsync或ToArrayAsync方法更好的性能?有人知道吗?
谢谢。

更新

对我来说,性能等于更少的内存使用、更快的查询时间、更高的并发性

lx0bsm1f

lx0bsm1f1#

ToList()ToArray()快,因为一旦知道了数组的大小,就需要第二次复制数组。(与List<T>不同,数组不能有额外的空间)
异步版本也是如此。
但是,你可能根本不想要这个功能。
除非您真的需要在客户机上获取所有数据,否则使用LINQ to entities在数据库中运行SQL查询会更有效。

相关问题