title: EDMX generates Nullable bool instead of bool
body: <p>I have written a simple stored procedure that returns one select. </p>
  
  <p>When I have updated my <code>EDMX model</code> and added the new stored procedure I wondered to see that the Result that was returned had a Nullable bool (in the stored procedure I always return 0 or 1).</p>
  
  <p>Why does it generates Nullable bool and not bool? And how can I change the stored procedure so that it will generate bool?</p>
  
  <p>Here is the stored procedure (this is not the real stored procedure, its just to demonstrate the problem):</p>
  
  <pre><code>ALTER PROCEDURE [dbo].[TestBool]
  AS
  BEGIN
      SET NOCOUNT ON;
  
      SELECT  Title,
              CONVERT(BIT, IIF([Address] = 'America', 1, 0)) IsAmerica,
              CONVERT(BIT, IIF(Duration &gt; 100, 1, 0)) IsLong
      FROM    dbo.Events
      WHERE   UserId &gt; 10
  END
  </code></pre>
  
  <p><code>Address</code> is not null while <code>Duration</code> is null (but this does not matter because both of the values are generated to Nullable bool).</p>
  
  <p>Here is an image of the <code>EDMX</code> result.</p>
  
  <p><img src="https://i.stack.imgur.com/bQq7K.png" alt="enter image description here"></p>
  
  <p>Thanks in advance :)</p>