我已經創建了Complex Types
,即GetIsActive_Result in DemoModel.edmx
。它有一個Scalar Property
,即邀請ID類型Int32。我創建了一個執行存儲過程的函數。在這裏我的功能。不能隱式轉換int?複雜類型
public GetIsActive_Result GetIsActiveUser(string email)
{
GetIsActive_Result result = null;
System.Data.Objects.ObjectParameter InvitationID;
InvitationID = new System.Data.Objects.ObjectParameter("InvitationID", -1);
var results = this.DataContext.GetIsActiveUser(email, InvitationID);
if (results != null)
{
result = results.FirstOrDefault();
}
return result;
}
該功能執行存儲過程即GetIsActiveUser。
USE [Demo]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[GetIsActiveUser]
(
@Email NCHAR(100),
@InvitationID INT OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
IF EXISTS(select * from Users,Invitations where [email protected] and IsActive='Active' and Invitations.Email != @Email)
BEGIN
SET @InvitationID=1
END
ELSE IF EXISTS(select * from Users,Invitations where [email protected] and IsActive='InActive' and Invitations.Email = @Email)
BEGIN
SET @InvitationID=0
END
SELECT @InvitationID AS InvitationID
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK
END
EXEC ThrowError
END CATCH
END
這是一個簡單的存儲過程,它返回InvitationID。我在線result = results.FirstOrDefault();
不能隱式轉換類型'int?' 'DemoAppWebService.GetIsActive_Result'
我該如何解決這個錯誤?我的代碼出了什麼問題?
爲什麼(INT作爲複雜類型的複雜混淆)? –
其實最終結果會來''ObjectParameter'' InvitationID' Rite ??是否是參數?或者函數GetIsActiveUser的返回對象是如何構造的?但只有詮釋返回????? –