使用ReSharper,我偶尔会获得快速修复建议,以便为LINQ操作导入命名空间.因此,在全新的类中给出以下代码:
linqToSqlDataContext.Customers.Count();
Run Code Online (Sandbox Code Playgroud)
我得到一个快速修复下拉如下:

我应该选择哪个,它们之间有什么区别?
System.Linq.Dynamic是Dynamic LINQ的命名空间.除非您已添加对Dynamic LINQ程序集的引用,否则不应将其视为选项.你这样做了吗?如果您真的想使用Dynamic LINQ ,那么您应该只这样做.
动态LINQ允许您将查询表达为文本 - 有点像DataTable.Select.我个人从来没有找到它的用途,但你可能想要它.但这应该是一个慎重的选择.大多数情况下,你可以使用静态类型的LINQ to Objects.
编辑:根据OP的评论,动态LINQ的代码可以直接添加到项目中,而不是作为单独的程序集引用.即使你做的真的想使用动态LINQ,我强烈建议保持在一个单独的组件,而不是用自己的代码相混合.