Как получить значения столбца в dataset, имеющего «//» в имени столбца, используя LinQ?

#linq-to-entities #linq-to-objects

#linq-to-entities #linq-to-objects

Вопрос:

У меня есть набор данных oDsData .В этом у меня есть столбец с именем SL_NO\W .

я использовал следующий код

 var f = oDsData.AsEnumerable();
var x = from c in f
     select c.Field<int>("[SL_NO\W]").ToString()
     .Substring(c.Field<int>("[SL_NO\W]")-1, 1);
if (x.Count() > 0)
     {some code}
  

Пытаясь получить x.Count() , я получаю исключение, Column '[SL_NOW]' не принадлежащее таблице Table1 .

кто-нибудь может мне помочь, так как это очень важно.

С уважением, Ниту

Комментарии:

1. вы пробовали без [] в имени столбца, например c.Field(«SL_NO W»). toString() ?

2. Да, я пробовал использовать подобное. По-прежнему приходит ошибка.

Ответ №1:

Поскольку это специальный символ, вы должны удвоить его или использовать @ (буквенную строку):

  select c.Field<int>(@"[SL_NO\W]").ToString() <-- @ before the string
  

Или

  select c.Field<int>("[SL_NO\\W]").ToString() <-- 4 means 2