【问题标题】:LINQ to Entities does not recognize the method 'System.String PadLeft(Int32)' method [duplicate]LINQ to Entities 无法识别方法“System.String PadLeft(Int32)”方法 [重复]
【发布时间】:2014-06-06 14:20:22
【问题描述】:

请帮帮我 我应该如何处理此代码中的此错误:

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();

【问题讨论】:

标签: linq linq-to-entities


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 2015-09-20
    • 2015-07-20
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多