大致是:var products = db.Products.Select(new ProductVm{Name=SomeMethod() });针对IQueryable集合的查询操作会被LINQ Provider编译成SQL语句,此时,是无法识别方法的。解决办法:把数据放到内存中,再调用方法var produts = db.Products.AsEnumerable().Select(new ProductVm{Name=SomeMethod() });