如何将我的LINQ查询结果作为特定对象返回

时间:2012-03-26 15:27:50

标签: c# asp.net-mvc-3 entity-framework-4 linq-to-entities

如何将LINQ查询结果作为特定对象返回

public CountryTable GetSelectedEventInfo(string SelectedEventID)
{
    return (CountryTable) this.context.Event.Where(
                   e => e.EventID.Equals(Convert.ToInt32(SelectedEventID)));
}

这是我的模特

public class CountryTable
{
    public int EventID { get; set; }
    public string Title { get; set; }
    public DateTime Startdate { get; set; }
    public DateTime EndDate { get; set; }
    public string EventUrl { get; set; }
}

以下是我的数据库上下文

public DbSet<CountryTable> Event { get; set; }

以下是我要做的事情

public CountryTable GetSelectedEventInfo(string SelectedEventID)
{
    return (CountryTable) this.context.Event.Where(
                   e => e.EventID.Equals(Convert.ToInt32(SelectedEventID)));
}

我需要查询结果返回CountryTable类型的对象

1 个答案:

答案 0 :(得分:5)

您可以使用SingleOrDefault方法:

public CountryTable GetSelectedEventInfo(string SelectedEventID)
{
    int id = Convert.ToInt32(SelectedEventID);
    return this.context.Event.SingleOrDefault(e => e.EventID == id);
}

请注意,如果在数据库中找不到匹配的记录,则此方法将返回null。