В чем преимущество написания собственного поставщика LINQ перед написанием простого класса, реализующего IEnumerable?
Например, этот quesiton показывает Linq2Excel:
var book = new ExcelQueryFactory(@"C:\Users.xls");
var administrators = from x in book.Worksheet()
where x.Role == "Administrator"
select x;
Но в чем преимущество "наивной" реализации IEnumerable?