获取太多字符文字时出错

时间:2012-05-18 19:32:00

标签: linq linq-to-sql

var query = from s in bv.baParticularHeaders
            from v in bv.baPlanColumnStructures
            where x.Contains(s.Particular_Num)
            select new LevelList
            {
                Value =  'Level ' + LTRIM(Rtrim(Convert(Char,P.Level_Num))) + ' - ',
                id = 'Column ' + LTRIM(Rtrim(Convert(Char,P.Column_Num))) + ' ',
                Text = v.Column_Description
            };

return query.Distinct().OrderBy(o => o.Value).AsQueryable<LevelList>();

获取这两行代码时出错。

Value =  'Level ' + LTRIM(Rtrim(Convert(Char,P.Level_Num))) + ' - ',
                    id = 'Column ' + LTRIM(Rtrim(Convert(Char,P.Column_Num))) + ' ',

任何正文可以帮我解决如何在LINQ中转换它吗?

由于

1 个答案:

答案 0 :(得分:3)

您不能只剪切和粘贴SQL,重新排列它并希望获得有效的LINQ查询。目的是将适当的C#代码(已翻译)编写到SQL中。在这种情况下,我怀疑你想要:

var query = from s in bv.baParticularHeaders
            from v in bv.baPlanColumnStructures
            where x.Contains(s.Particular_Num)
            select new LevelList
            {
                Value =  "Level " + P.Level_Num + " - ";
                id = "Column " + p.Column_Num + " ",
                Text = v.Column_Description
            };

return query.Distinct().OrderBy(o => o.Value).AsQueryable();

请注意字符串文字 - "Level "而不是'Level '。代码必须首先是有效的C#。

(假设Level_NumColumn_Num是数字,我看不出为什么修剪它们会有意义。)