LINQ to Entities无法识别方法'System.String PadLeft(Int32)'方法

时间:2014-04-22 09:32:23

标签: linq linq-to-entities

请帮帮我 我该怎么处理此代码中的此错误:

LINQ to Entities无法识别方法'System.String PadLeft(Int32)'方法,并且此方法无法转换为商店表达式。

var bookImagePage = (from bbs in LibCms.Books
                             join bbp in LibCms.BookPages on bbs.BookID equals bbp.BookID
                             select new
                                        {
                                            bbs.BookID,
                                            bbp.VolumeNum,
                                            bbs.AutolID,
                                            bbp.PageNum,
                                            a = bbs.AutoID.PadLeft(5, '0') + bbp.PageNo.PadLeft(4, '0')
                                        }).Distinct().ToList();

1 个答案:

答案 0 :(得分:4)

您无法在Linq查询中使用方法。取出字符串操作然后在ToList()之后添加.Select(x => new {     //现在你可以在结果上使用方法了 })