【发布时间】:2017-04-25 22:49:17
【问题描述】:
我有一个方法可以调用数据库中存在的存储过程
public Guid GetUserID(string userName)
{
using (var entities = new entities ())
{
return Guid.Parse(entities.Database.SqlQuery<Guid>(
"dbo.[GetUserID] @UserName",
new Object[] { new SqlParameter("@UserName",
userName)
}).ToString());
}
}
还有我的存储过程:
CREATE PROCEDURE [dbo].[GetUserID]
@UserName NVARCHAR(100)
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1 ID FROM [DBO].[USER] WHERE USERNAME = @UserName
ORDER BY CREATEDON DESC
END
GO
我添加了一些日志并收到以下错误:
Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
at System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult& result)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
at System.Guid.Parse(String input)
是什么导致了上述错误?
【问题讨论】:
标签: c# sql-server entity-framework stored-procedures