我有一个调用的数据库中存在的实体框架 - 从数据库中第一个存储过程返回GUID
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)
什么导致上述错误?
谢谢了。这解决了我的问题。从昨天打破我的头脑,找出真正的问题是什么。 – Yoda