无法将匿名类型转换为int - compoiled linq to sql query

时间:2012-11-12 12:41:07

标签: asp.net-mvc linq-to-sql

我正在尝试编译查询,但我只想让它返回一个int

        public Func<DataContext, DateTime, int>
    GetNextTourNo = CompiledQuery.Compile((DataContext db, DateTime day) => ((from b in db.GetTable<BookingType>()
                                                                              where b.RecordType == "H" && b.TourStartDateTime.Value.Date == day.Date
                                                                              orderby b.TourID descending
                                                                              select new { nextID = b.TourID +1 }).Single()));

2 个答案:

答案 0 :(得分:1)

您能否提供有关匿名类型和已编译查询的上下文的更多信息?

此外,如果您直接在linq中使用查询实体,则日期比较将不起作用。需要使用实体函数。这可能导致无效返回。

答案 1 :(得分:1)

您可以从选定的单个匿名对象

返回nextID属性
select new { nextID = b.TourID +1 }).Single().nextID