2

我创建了一个内联表 UDF,其中包含一些不同类型的列。

ALTER FUNCTION [dbo].[fnTest]()
RETURNS TABLE 
AS
RETURN 
(
    SELECT 
        [t0].[type], 
        [t0].[status], 
        [t0].[createdDate], -- datetime not null
        [t1].[ACLID]        -- bigint not null
    FROM 
        [dbo].[ProcessInstanceWorkitem] AS [t0] 
        INNER JOIN [dbo].[Object] AS [t1] ON [t0].[objectID] = [t1].[objectID] 
)

但是,尽管某些列设置为非空,但 sqlmetal.exe 将它们创建为可空类型:

public partial class FnTestResult
{

    private string _Type;

    private string _Status;

    private System.Nullable<System.DateTime> _CreatedDate;

    private System.Nullable<long> _ACLID;

...

为什么它没有得到正确的不可为空的类型?

我将 sqlmetal (Microsoft (R) Database Mapping Generator 2008) 版本 4.0.30319.1 用于 .NET Framework 版本 4。

4

0 回答 0