0
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 中转换它吗?

谢谢

4

1 回答 1

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是数字,我不明白为什么修剪它们是有意义的。)

于 2012-05-18T19:35:25.967 回答