使用Entity Framework执行原始sql查询

时间:2014-07-07 11:53:54

标签: c# sql entity-framework

我使用他的代码在实体框架中执行SQL query

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 个答案:

答案 0 :(得分:1)

如果您需要实体列表,则需要使用.First().Single()或类似功能确定所需的实体。

从那里开始,应该是编写var result = data.First().IsON;以从该列获取您的值或类似内容的简单案例。这就是我这样做的方式,如果实体未知或者表中的列也不知道,您将获得异常。但是从你提供的内容来看,这应该不是问题。