C# 返回表中的唯一记录值

C# 返回表中的唯一记录值,c#,linq,entity-framework,C#,Linq,Entity Framework,ClientAccountAccess表将只有一条记录,其中包含ID和GUID。 我想以字符串形式返回GUID private static string GetAccessCode() { using (EPOSEntities db = new EPOSEntities()) { string clientAccessCode = from e in db.ClientAccountAccesses

ClientAccountAccess表将只有一条记录,其中包含ID和GUID。 我想以字符串形式返回GUID

private static string GetAccessCode()
{
    using (EPOSEntities db = new EPOSEntities())
    {
        string clientAccessCode = from e in db.ClientAccountAccesses
                                     where string.IsNullOrWhiteSpace(e.GUID)
                                     select e.GUID;

        return clientAccessCode;
    }
}
select抛出一个错误,表示无法将Ienumerable转换为字符串,但我不想创建Ienumerable clientAccessCode,因为我说过此表中只有一条记录,我想返回GUID的值

?? 感谢您的回复

如果匹配结果不应超过一个,请使用
FirstOrDefault()
SingleOrDefault()

private static string GetAccessCode()
{
    using (EPOSEntities db = new EPOSEntities())
    {
        var clientAccessCodes = from e in db.ClientAccountAccesses
                                where string.IsNullOrWhiteSpace(e.GUID)
                                select e.GUID;

        return clientAccessCodes.FirstOrDefault();
    }
}
注意-查询结果的类型为
IEnumerable
。您还可以使用lambda语法:

private static string GetAccessCode()
{
    using (EPOSEntities db = new EPOSEntities())
    {
        return db.ClientAccountAccesses
                 .Where(e => String.IsNullOrWhiteSpace(e.GUID))
                 .Select(e => e.GUID)
                 .FirstOrDefault();
    }
}
如果匹配的结果不应超过一个,请使用
FirstOrDefault()
SingleOrDefault()

private static string GetAccessCode()
{
    using (EPOSEntities db = new EPOSEntities())
    {
        var clientAccessCodes = from e in db.ClientAccountAccesses
                                where string.IsNullOrWhiteSpace(e.GUID)
                                select e.GUID;

        return clientAccessCodes.FirstOrDefault();
    }
}
注意-查询结果的类型为
IEnumerable
。您还可以使用lambda语法:

private static string GetAccessCode()
{
    using (EPOSEntities db = new EPOSEntities())
    {
        return db.ClientAccountAccesses
                 .Where(e => String.IsNullOrWhiteSpace(e.GUID))
                 .Select(e => e.GUID)
                 .FirstOrDefault();
    }
}

如果只有一条记录,你为什么要费心过滤呢?过滤只包含空/空白值是特别奇怪的…如果只有一条记录,为什么还要费心过滤?过滤只包括空/空白值是特别奇怪的。。。