title: Linq to SQL, Stored Procedure with different return types based on an If/Else
body: <p>I have an existing Stored Procedure which I am trying to now call with LINQ to SQL, here is the stored procedure:</p>
  
  <pre><code>ALTER procedure [dbo].[sp_SELECT_Security_ALL] (
  @UID       Varchar(15)
  )
  as
  DECLARE @A_ID   int
  
  If ISNULL(@UID,'') = ''
      SELECT  DISTINCT
         App_ID,
         App_Name,
         App_Description,
         DB,
         DBNameApp_ID,
         For_One_EVA_List_Ind
      From      v_Security_ALL
  ELSE
     BEGIN
          Select  @A_ID = (Select Assignee_ID From NEO.dbo.v_Assignees Where USER_ID = @UID and Inactive_Ind = 0)
  
      SELECT  DISTINCT
         Security_User_ID,
         Security_Company,
         Security_MailCode,
         Security_Last_Name,
         Security_First_Name,
         Security_User_Name,
         Security_User_Info,
         Security_User_CO_MC,
         Security_Email_Addr, 
         Security_Phone,
         Security_Security_Level, 
         Security_Security_Desc, 
         Security_Security_Comment,
         Security_Security_Inactive_Ind,
         App_ID,
         App_Name,
         App_Description,
         DB,
         DBNameApp_ID,
         For_One_EVA_List_Ind,
         @A_ID as Assignee_ID
      From      v_Security_ALL
      Where     Security_User_ID    = @UID
     END
  </code></pre>
  
  <p>My problem is that the intellsense only sees the first set of return values in the IF statement and I can not access anything from the "else" part of my stored procedure.  so when I try to do this:</p>
  
  <pre><code> var apps = dataContext.sp_SELECT_Security_ALL(userId);
  
          foreach (var app in apps)
          {
              string i = app.
          }
  </code></pre>
  
  <p>On the app. part the only available values I have there is the results of the the first Select distinct above.</p>
  
  <p>Is it possible to use LINQ with this type of stored procedure?</p>