LINQ:将Guid转换为字符串

Ing*_*mar 3 linq entity-framework

我执行此代码时遇到异常:

var result = from menu in menuBus.GetMenus()
             orderby menu.InternalName
             select new 
             {
                 Value = menu.ID.ToString(),
                 Text = menu.InternalName
             };

var result = allMenus.ToList();
Run Code Online (Sandbox Code Playgroud)

错误消息说:LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为存储的表达式.

所以,我猜Value = menu.ID.ToString()出了问题.ID属性定义为GUID(MS SQL中的UniqueIdentifier).

有人有解决方案吗?

非常感谢你!!!

Geo*_*voy 6

查询数据库后,需要通过另一个查询运行列表.

var result = (from menu in menuBus.GetMenus()
                        orderby menu.InternalName
                        select new 
                        {
                            Value = menu.ID,
                            Text = menu.InternalName
                        }).ToList();


var result2 = (from menu in result select new {Value=menu.Value.ToString(),Text=menu.Text}).ToList();
Run Code Online (Sandbox Code Playgroud)