LINQ的使代碼更加整潔,但往常遞歸都會需要定義兩個方法,如果使用Razor語法書寫遞歸就會變得無從下手。所以推薦使用LINQ實現遞歸
@{ //統計名片認證數量 var TuiJianMingPianTotal = 0; Func<int, int> MingPian = null; MingPian = id => { var basmas = DBHelper.BASMA.Where(ma => ma.MA021.Equals(id) && ma.MA038 != null); TuiJianMingPianTotal += basmas.Count(); foreach (var it in basmas) { MingPian(it.ID); } return TuiJianMingPianTotal; }; } @MingPian(item.ID)