System.Linq.Dynamic和System.Linq之间的区别?

Nei*_*ell 2 c# linq

使用ReSharper,我偶尔会获得快速修复建议,以便为LINQ操作导入命名空间.因此,在全新的类中给出以下代码:

linqToSqlDataContext.Customers.Count();
Run Code Online (Sandbox Code Playgroud)

我得到一个快速修复下拉如下:

替代文字

我应该选择哪个,它们之间有什么区别?

Jon*_*eet 5

System.Linq.Dynamic是Dynamic LINQ的命名空间.除非您已添加对Dynamic LINQ程序集的引用,否则不应将其视为选项.你这样做了吗?如果您真的使用Dynamic LINQ ,那么您应该只这样做.

动态LINQ允许您将查询表达为文本 - 有点像DataTable.Select.我个人从来没有找到它的用途,但你可能想要它.但这应该是一个慎重的选择.大多数情况下,你可以使用静态类型的LINQ to Objects.

编辑:根据OP的评论,动态LINQ的代码可以直接添加到项目中,而不是作为单独的程序集引用.即使你做的真的想使用动态LINQ,我强烈建议保持在一个单独的组件,而不是用自己的代码相混合.