如何告知实体框架功能导入存储过程返回的列不可为空?

Evr*_*glu 16 c# sql-server entity-framework .net-4.0

我有一个SQL Server存储过程,它重新解决这个问题:

CREATE PROCEDURE [jp].[GetFoo]
    @Guid UNIQUEIDENTIFIER
AS

SELECT
    CONVERT(BIT, (CASE WHEN [dbo].[GetBar](T.Col2) = 3 THEN 1 ELSE 0 END)) IsGetBarCol2EqualToThree
FROM 
    [dbo].[MyTable] T
WHERE
    T.Col1 = @Guid
Run Code Online (Sandbox Code Playgroud)

当我在EF中执行函数导入/获取列信息时,IsGetBarCol2EqualToThree列的推断类型是Nullable<bool>.但是这个领域不可能是空的,所以我希望它是公正的bool.有没有办法在更新时保持持久性(即不依赖于修改任何生成的代码)?

SQL Server版本是2005,我使用Visual Studio 2010SP1和EF 4,项目是针对.net 4.0编译的.

O.O*_*O.O 11

进行此修改: isnull([dbo].[GetBar](T.Col2), 0)