Complex Types
つまり、 GetIsActive_Resultを作成しましたDemoModel.edmx
。Scalar Property
Int32型のInvitationIDが 1 つあります。ストア プロシージャを実行する関数を 1 つ作成しました。ここで私の機能。
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 UserName=@Email and IsActive='Active' and Invitations.Email != @Email)
BEGIN
SET @InvitationID=1
END
ELSE IF EXISTS(select * from Users,Invitations where UserName=@Email 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」へ
このエラーを解決するにはどうすればよいですか? 私のコードのどこが間違っていましたか?