c# – 将值传递给ObjectParameter变量
发布时间:2020-12-16 01:52:10 所属栏目:百科 来源:网络整理
导读:我用一些参数创建了一个存储过程.这些是我的程序的参数: ALTER Procedure [dbo].[SaveInvitation]( @InvitationID INT OUTPUT,@UserID INT,@Email NCHAR(100),@InvitationGUID UNIQUEIDENTIFIER OUTPUT)AS 我的function.cs: public SaveInvitation_Result
我用一些参数创建了一个存储过程.这些是我的程序的参数:
ALTER Procedure [dbo].[SaveInvitation] ( @InvitationID INT OUTPUT,@UserID INT,@Email NCHAR(100),@InvitationGUID UNIQUEIDENTIFIER OUTPUT ) AS 我的function.cs: public SaveInvitation_Result SaveInvitation(int userID,string email) { SaveInvitation_Result result = null; var results = this.DataContext.SaveInvitation(null,userID,email,null); if (results != null) { result = results.FirstOrDefault(); } return result; } 我将一些参数传递给我的函数SaveInvitation,如下所示: 我的DataBaseModel.Designer.cs: public ObjectResult<SaveInvitation_Result> SaveInvitation(ObjectParameter invitationID,Nullable<global::System.Int32> userID,global::System.String email,ObjectParameter invitationGUID) { ObjectParameter userIDParameter; if (userID.HasValue) { userIDParameter = new ObjectParameter("UserID",userID); } else { userIDParameter = new ObjectParameter("UserID",typeof(global::System.Int32)); } ObjectParameter emailParameter; if (email != null) { emailParameter = new ObjectParameter("Email",email); } else { emailParameter = new ObjectParameter("Email",typeof(global::System.String)); } return base.ExecuteFunction<SaveInvitation_Result>("SaveInvitation",invitationID,userIDParameter,emailParameter,invitationGUID); } 当我执行这个函数/过程时,我得到一个异常
如何将值传递给invitationID和invitationGUID? 解决方法
当userID或email为null时,必须将参数的值设置为DBNull.Value:
public ObjectResult<SaveInvitation_Result> SaveInvitation(ObjectParameter invitationID,ObjectParameter invitationGUID) { ObjectParameter userIDParameter; if (userID.HasValue) { userIDParameter = new ObjectParameter("UserID",userID); } else { userIDParameter = new ObjectParameter("UserID",typeof(global::System.Int32)); userIDParameter.Value = DBNull.Value; } ObjectParameter emailParameter; if (email != null) { emailParameter = new ObjectParameter("Email",email); } else { emailParameter = new ObjectParameter("Email",typeof(global::System.String)); emailParameter.Value = DBNull.Value; } return base.ExecuteFunction<SaveInvitation_Result>("SaveInvitation",invitationGUID); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |