在此查询中:
public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
var context = DataContext.GetDataContext();
return context.ServerOnlineCharacters
.OrderBy(p => p.ServerStatus.ServerDateTime)
.GroupBy(p => p.RawName)
.Select(p => p.Last());
}
Run Code Online (Sandbox Code Playgroud)
我不得不把它切换到这个才能工作
public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
var context = DataContext.GetDataContext();
return context.ServerOnlineCharacters
.OrderByDescending(p => p.ServerStatus.ServerDateTime)
.GroupBy(p => p.RawName)
.Select(p => p.FirstOrDefault());
}
Run Code Online (Sandbox Code Playgroud)
我甚p.First()至无法使用镜像第一个查询.
为什么在这样一个强大的ORM系统中存在这样的基本限制?
为什么我收到此错误:
LINQ to Entities不支持"Single"方法.请考虑使用"First"方法.
public ActionResult Details(int id)
Line 27: {
var result = (from d in _db.MovieSet
Line 29: where d.Id == id
Line 30: select d).Single();
//
//
}
Run Code Online (Sandbox Code Playgroud)
代码编译安全,但只有在调用相应部分时才会中断.我是LINQ的新手,因此不知道哪些方法适用于LINQtoSQL或LINQtoEntities.这意味着更多错误!我们不记得所有这些方法.
我的问题是,如果适用于某些类型/场景的方法存在局限性,为什么它们出现在Intellisense中?
编辑:任何解决方法/技术有助于了解是否支持?