使用Contains对Int Field时动态Linq失败

Mar*_*ark 2 mysql linq-to-entities entity-framework entity-framework-4.1

我正在使用Entity Frameworks 4.1.0.0和MySQL.Data.Entity 6.5.4.0,当我尝试为一系列整数生成动态查询时,出现以下错误:

"Int32"类型中不存在适用的方法"包含"

当使用类似的结构来检查字符串时,这似乎工作正常.但我想扩展它以支持我的数据中的其他数据库字段.

代码示例:

        int[] ids = new int[] { 1, 3, 4 };

        IQueryable<entityname> list = db.tablename.Where("Id.Contains(@0)", ids);
Run Code Online (Sandbox Code Playgroud)

我已将Dynamic.cs添加到我的项目中,然后跟随 http://blog.walteralmeida.com/2010/05/advanced-linq-dynamic-linq-library-add-support-for-contains-extension-. html 但是使用通过Nuget加载的Dynamic I没有区别.

先感谢您.

Ger*_*old 6

语法略有不同:

IQueryable<entityname> list = db.tablename.Where("@0.Contains(outerIt.Id)", ids);
Run Code Online (Sandbox Code Playgroud)

按照您所指的链接.