2012-05-18 3 views
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?

Благодаря

ответ

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_Num и Column_Num являются числа, я не могу понять, почему это имело бы смысл обрезать их.)

+0

ОП является преобразование значений из столбца типа «полукокса», который, скорее всего, фиксированная длина - это, по крайней мере, объяснит функции обрезки. –

+0

. Я получаю следующее сообщение об ошибке после попытки использования кода Jon Skeet. Невозможно ввести тип «System.Int32» для ввода «System.Object». LINQ to Entities поддерживает только моделирование примитивных типов данных Entity Data Model. – user957178

+0

@ user957178: Где вы получаете эту ошибку? Вы ничего не сказали нам о своей модели данных, которая на самом деле не помогает ... –

Смежные вопросы