[英]Linq-to-SQL ToList() With/without records?
试图在SO上寻找此问题,但找不到它。
从静态方法返回记录列表的最佳方法是什么?
我想从我的静态方法中返回一个空列表或一个填充列表。
给出以下方法:
public static List<division> GetAllDivisions(bool isAvailable)
{
MyDataContext db = new MyDataContext ();
List<division> DivisionList = new List<division>();
var data = from d in db.divisions
where d.isAvailable == isAvailable
select d;
if(data.Count() > 0)
DivisionList = data.ToList();
return DivisionList;
}
我真的需要执行以下操作吗?
if(data.Count() > 0)
DivisionList = data.ToList();
我可以不进行计数就做DivisionList = data.ToList()
吗?
我希望能够返回填充列表或空列表- 并且我不希望在有0条记录的情况下引发错误。
什么是最佳做法? 返回IEnumerable
更好吗?
我希望能够返回填充列表或空列表-并且我不希望在有0条记录的情况下引发错误。
您不必检查Count
, ToList
不会返回null
,它可以返回一个空列表,您正在尝试进行检查。 只是data.ToList();
足够。 它将返回带有记录的列表或一个空列表,但不为null。
你可以做:
public static List<division> GetAllDivisions(bool isAvailable)
{
MyDataContext db = new MyDataContext();
return db.divisions
.Where(d => d.isAvailable == isAvailable)
.ToList();
}
对于
返回IEnumerable是否更好?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.