字符串无法设置为 Guid 值

string could not be set to a Guid value

我正在使用 Entity Framwork Code First 并且我有一个 table 会话(Id 主键长不为空,SessionId UniqueIdentify 不为空)和我的实体会话:

    public class Session
        {
            public long Id { get; set; }
            public string SessionId { get; set; }
            public string Status { get; set; }
        }

当我创建会话时没有异常,但是当我按状态获取会话时我收到错误 "The 'SessionId' property on 'Session' could not be set to a 'System.Guid' value. You must set this property to a non-null value of type 'System.String'"

我的 GetSessionByStatus 方法:

public QueryResult<Session> GetSessionByStatus(DbConnection connection, string status, int size = 0, int index = 0)
        {
            QueryResult<Session> result = new QueryResult<Session>();
            try
            {
                using (var uow = new StagingUnitOfWork(connection))
                {
                    result.Data = uow.SessionRepository
                    .FindAll(s => (s.Status == status)).Skip(size * index).Take(size).ToList();

                    if (result.Data != null && result.Data.Count() > 0)
                    {
                        result.QuerySuccess = true;
                        result.Message = "Query Session Data Successful";
                    }
                    else
                    {
                        result.QuerySuccess = false;
                        result.Message = "Session have no result";
                    }
                }

            }
            catch (Exception ex)
            {
                result.Data = null;
                result.QuerySuccess = false;
                result.Message = ex.Message;
            }
            return result;
        }

Resule.Data 抛出该异常。 请帮我解决这个异常感谢提前

您要求将存储为 Guid 的数据库值放入字符串中。您可以将对象中的 SessionID 设置为 Guid 而不是字符串来解决此问题。