我有一个使用linq的EF上下文,它正在不同类型的多个sql服务器上执行。我发现linq在sql server 2000框上导致语法错误,因为.FirstOrDefault()
的linq翻译被翻译成使用SELECT TOP (1)
而不是SELECT TOP 1
的sql,它会似乎括号导致此语法错误,因为在sql server 2000中此上下文不支持它们。
是否可以强制linq使用SELECT TOP 1
代替SELECT TOP (1)
?
答案 0 :(得分:3)
您可以在订购后使用 ToList().Take(1)
方法。