在Linq-To-Entity查询中获取GUID字符串值时出现问题 [英] Problem getting GUID string value in Linq-To-Entity query

查看:130
本文介绍了在Linq-To-Entity查询中获取GUID字符串值时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在linq select中将GUID值写入字符串.可以在下面看到代码(其中c.ID是GUID),但是出现以下错误:

I am trying to write a GUID value to a string in a linq select. The code can be seen below (where c.ID is GUID), but I get the following error:

无法将类型"System.Guid"强制转换为类型"System.Object". LINQ to Entities仅支持转换实体数据模型原语类型.

var media = (
                from media in Current.Context.MediaSet
                orderby media.CreatedDate
                select new Item
                {
                    Link = "~/Media.aspx?id=" + media.ID,
                    Text = "Media",
                    Time = media.CreatedDate
                }
            ).ToList();

推荐答案

一种方法是将查询分为L2E和L2O:

One way would be to break apart the query into L2E and L2O:

var q = from media in Current.Context.MediaSet
        orderby media.CreatedDate
        select new
        {
            Id = media.ID,
            Time = media.CreatedTime
        };
var media = (
                from m in q.AsEnumerable()
                select new Item
                {
                    Link = "~/Media.aspx?id=" + q.Id.ToString,
                    Text = "Media",
                    Time = q.Time
                }
            ).ToList();

这篇关于在Linq-To-Entity查询中获取GUID字符串值时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆