繁体   English   中英

LINQ to Entities无法识别方法String.Format

[英]LINQ to Entities does not recognize the method String.Format

我正在尝试格式化双精度值(通过仅显示2个小数)。 我尝试使用AsEnumerable,但我一直收到此错误

LINQ to Entities无法识别方法String.Format

var tw = workers.Select(x => new
            {
                Id = x.Id,
                JobOpportunityFeedbacks = x.JobOpportunityFeedbacks.AsEnumerable().
                Select(y => new
                {
                    Rating = String.Format("0.00",y.Rating),
                    Feedback = y.Feedback
                });

您必须在初始Select之外执行AsEnumerable

var tw = workers.Select(x => new
    {
        Id = x.Id,
        JobOpportunityFeedbacks = x.JobOpportunityFeedbacks
            .Select(y => new
            {
                y.Rating,
                y.Feedback
            })
    })
    .AsEnumerable()
    .Select(x => new 
    {
        x.Id,
        JopOpertunityFeedbacks = x.JobOpportunityFeedbacks
            .Select(y => new
            {
                Rating = String.Format("0.00",y.Rating),
                y.Feedback
            })
    });

使用SqlFunctions类-我没有尝试过,但应该可以。

var tw = workers.Select(x => new
            {
                Id = x.Id,
                JobOpportunityFeedbacks = x.JobOpportunityFeedbacks.AsEnumerable().
                Select(y => new
                {
                    Rating = SqlFunctions.StringConvert(y.Rating, 4, 2)
                    Feedback = y.Feedback
                });

https://msdn.microsoft.com/zh-CN/library/dd487158(v=vs.110).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM