将linq查询中的数据编组到.NET对象中

时间:2017-01-19 00:06:02

标签: c# entity-framework linq

我有一个名为EventInfo的类:

public class EventInfo
{
    public string EventName { get; set; }
    public string EventDateRange { get; set; }
}

使用Entity Framework / linq实体我想从LINQ命令的结果构造一个类型为EventInfo的ab对象。

我有这个:

using (var dataContext = new DataContext())
{
    var x =
        from event in dataContext.Events
        where event.EventID == 10
        select new EventInfo
        {
            EventName = event.ShowName,
            EventDateRange = $"{event.StartDate} - {event.EndDate}"
        };
}

但是x的类型为IQueryable [EventInfo],我需要对它执行.FirstOrDefault并检查是否为空。

有没有办法直接这样做?

2 个答案:

答案 0 :(得分:0)

你是说这个?

using (var dataContext = new DataContext())
{
    var x =(
        from event in dataContext.Events
        where event.EventID == 10
        select new EventInfo
        {
            EventName = event.ShowName,
            EventDateRange = $"{event.StartDate} - {event.EndDate}"
        }).FirstOrDefault();
}

答案 1 :(得分:0)

试试这个:

{{1}}

虽然不是检查x是否为null,但您可能更喜欢将x返回给调用者,然后将其检查为null并相应地执行操作。