【问题标题】:"ERROR: Only one expression can be specified in the select list" Linq To Sql“错误:选择列表中只能指定一个表达式”Linq To Sql
【发布时间】:2012-04-17 22:41:19
【问题描述】:
var loggedInHours = db.LoginLogs.Where(l => l.UserId == u.Id && l.UserSessionStop != null)
                                                                     .Sum(ls=> ls.UserSessionStart.Subtract(ls.UserSessionStop.Value).Hours)

我正在尝试使用此 linq 查询计算总 LoggedIn 小时数。 但它给了我这个错误 “当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。” 我不知道它有什么问题..请帮助

【问题讨论】:

标签: linq-to-sql


【解决方案1】:

试试这是否可行:

var loggedInHours = db.LoginLogs.Where(l => l.UserId == u.Id && l.UserSessionStop != null)
                      .Select(l=> new { 
                                         StartTime = l.UserSessionStart,  
                                         EndTime = l.UserSessionStop
                                      })
                     .ToList()
                     .Sum(c=> c.StartTime - c.EndTime);

顺便说一句,UserSessionStop 可以为空吗?如果是,那么要减去的值是多少?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多