【发布时间】:2011-09-16 13:19:39
【问题描述】:
我在我的项目中广泛使用 Linq,到目前为止性能很好,我只是怀疑我是否使用过类似这样的 Linq
var getData = objData.where(obj => obj.isDelete ==false)
if (getData != null && getData.Count() > 0)
foreach(xyz as obj in getdata.ToList())
{
//some operation
}
getData.Count() 和 getdata.ToList() 是否对对象执行两种不同的提取?或者根据执行 getData.Count() 时的延迟加载概念,然后不对 .ToList 执行任何操作。
如果不是,那么我应该删除 Count 条件,它会提高性能吗?
我正在使用 Enterprise Library 5.0 访问器方法从数据库中获取数据 列表 lstpack = new List();
var accessor = _sqlDatabase.CreateSprocAccessor<PackageForClient>("PackageForClientApp", MapBuilder<PackageForClient>
.MapAllProperties()
.Build()
);
var Data = accessor.Execute(startdate, enddate,beinh);
if (Data != null) //&& Data.Count() > 0 //This has been removed as it is doing an extra fetch
lstpack = Data.ToList<PackageForClient>();
现在返回列表
【问题讨论】:
标签: linq