繁体   English   中英

将GUID转换为字符串实体框架

[英]Convert GUID to string Entity Framework

冒着问一个重复问题的风险,我似乎无法解决这个问题。 我想做的事有很多例子,但语法并不完全相同,没有任何效果。 我正在自学Linq。 该查询从SQL Server获取ID列表。 如果没有“ ToString()”,它将显示“无法将GUID转换为string []”。 请提前告知并感谢。

    public string[] GetAllRoleIDs(string param)
    {           
        using (DBEntities de = new DBEntities())
        {
            string[] roleset = (from p in de.MySQLView
                         where p.anotherfield == param
                                select p.RoleID.ToString()).Distinct().ToArray();

            return roleset;
        }            
    }

您希望AsEnumerable()强制ToString()调用在本地求值而不是作为EF查询的一部分。 例如:

using (DBEntities de = new DBEntities())
{
    string[] roleset = de.MySQLView
                         .Where(p => p.anotherfield == param)
                         .Select(p => p.RoleID)
                         .Distinct()
                         .AsEnumerable()
                         .Select(guid => guid.ToString())
                         .ToArray();
    return roleset;
}

(我已经将它从查询表达式转换为使用点表示法,只是因为两者之间的混合和匹配很麻烦,并且您只有一个whereselect 。当然,您可以使用查询表达式。 )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM