什么方法的EF 6更适合用于从数据库asyn获取数据?

时间:2013-08-07 15:46:45

标签: c# asp.net entity-framework

我有下一个代码

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方法更适合性能? 有人知道吗?

感谢。

更新

对我来说,性能是eqval tp更少的内存使用,更快的查询时间,更高的并发性

1 个答案:

答案 0 :(得分:5)

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

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