Выполнение необработанного sql-запроса с использованием Entity Framework

#c# #sql #entity-framework

#c# #sql #entity-framework

Вопрос:

Я использую его код для выполнения SQL query в entity framework :

 using (var db = new VSServicesEntities())
            {                 
                const string selectCmd = @"if exists (Select top 1 IsUserOn From ServiceMembers Where ServiceCode=@ServiceCode and Number=@Number) 
                             Select isnull(IsUserOn,0) IsON 
                             From ServiceMembers Where ServiceCode=@ServiceCode and Number=@Number
                          else 
                             Select Null IsON";
                var data = db.ServiceMembers.SqlQuery(selectCmd, number, serviceCode).ToList();
                if (data.Count()>1)
                {

                    //How to acccess value of returned column named IsON
                }
  

и я хочу в блоке if if (data.Count()>1) получить доступ к значению столбца, которое возвращается при выполнении запроса, это имя столбца IsON , как я могу получить к нему доступ?

Ответ №1:

Если вы ожидаете получить список сущностей, то вам нужно будет определить, с какой из них вы хотите использовать .First() , .Single() или аналогичную функцию.

Оттуда должно быть простым способом записи var result = data.First().IsON; , чтобы получить ваше значение из этого столбца, или что-то подобное. Я делаю это так, вы получите исключение, если объект неизвестен или столбец из таблицы также неизвестен. Но из того, что вы предоставили, это не должно быть проблемой.