我在使用动态表达式 API 时遇到问题。我似乎无法将 DataTable 字段与 DBNull.Value 进行比较。该 API 应该能够“支持静态字段或静态属性访问。任何公共字段或属性都可以访问。”。但是给出以下查询:
var whatever = table1.AsEnumerable()
.Join(table2.AsEnumerable(),
(x) => x.Field<int>("Table1_ID"),
(y) => y.Field<int>("Table2_ID"),
(x, y) => new { x, y})
.AsQueryable()
.Where("x[\"NullableIntColumnName\"] == DBNull.Value");
我最终得到错误:“类型'<>f__AnonymousType0`2'中不存在属性或字段'DBNull'”
有人对如何解决这个问题有想法吗?我不能在传递给 Where 方法的字符串中使用 Submission.Field("NullableIntColumnName"),顺便说一句,否则我将能够与 null 而不是 DBNull.Value 进行比较。