以下linq2sql代码让我很头疼,我希望有人可以提供帮助
DateTime _maxRecordedDate = (from snapshot in _ctx.Usage_Snapshots
where snapshot.server_id == server_id
orderby snapshot.reported_on descending
select snapshot.reported_on).First().Value;
此代码在LinqPad中可以正常编译,但是当项目运行时,会出现“指定的方法不受支持”。
如果我不使用Value或强制转换它,我会收到以下错误:
**
无法隐式转换类型 'System.DateTime的?'至 'System.DateTime的'。一个明确的 转换存在(你错过了吗? 投?)
**
答案 0 :(得分:1)
它不想要First()。价值?也许只是First()。
我在看this。
答案 1 :(得分:1)
DateTime? _maxRecordedDate = _ctx.Usage_Snapshots.Where(s => s.server_id == server_id).Max(d => d.reported_on);
答案 2 :(得分:0)
答案 3 :(得分:0)
经过多次搜索,我发现问题源于使用ADO.NET数据服务。显然他们使用Linq的有限子集,目前无法使用Max,First等方法.Bummme