0
对不起,但我无法解释我阅读了很多接近问题的博客后所得到的错误。ExecuteStoreQuery引发System.Data.Entity.Core.EntityCommandExecutionException
我有以下存储过程
CREATE PROCEDURE dbo.AddUserToRole
@UserName nvarchar(256), @RoleId nvarchar(128),
@UserId nvarchar(128) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT @UserId = Id FROM dbo.AspNetUsers WHERE dbo.AspNetUsers.UserName = @UserName
INSERT INTO dbo.AspNetUserRoles (UserId,RoleId) VALUES(@UserId,@RoleId)
END
GO
我打电话,如下所示:
var userNameParameter = new SqlParameter("UserName", userName);
var roleIdParameter = new SqlParameter("RoleId", roleId);
string userId = "";
var UserIdParameter = new SqlParameter("UserId", userId);
UserIdParameter.Direction = System.Data.ParameterDirection.Output;
((IObjectContextAdapter)this).ObjectContext.ExecuteStoreQuery<string>("AddUserToRole @UserName, @RoleId, @UserId", userNameParameter, roleIdParameter, UserIdParameter);
,但我得到下面的异常 数据读取器有一个以上的领域。多个字段对于EDM基元或枚举类型无效。
对不起,但我会很感激任何帮助。我不想只是修复,但我想知道确切的问题是什么。
感谢
感谢马赫迪,但它给我同样的错误。如果有问题,我正在使用EF6。 –
尝试在你的sp中返回一个字符串值。插入后推荐 ,编写select“foo” –