0

我在一个项目中使用 VB,以及 EF.PLUS https://entityframework-plus.net/

我想使用FirstOrDefaultDynamic,但我没有找到任何在 VB 中使用的示例 - 所有示例都在 C# 中。

具体来说,我有一个字符串数组,我想在其中找到一个元素:

dim a = {
    {"a", "a1"},
    {"b", "b1"},
    {"c", "c1"}
}

dim elem = a.FirstOrDefaultDynamic("x(0) = y", new with {y="a"})

但是我在评估表达式时出错。

FirstOrDefaultDynamic仅接受字符串表达式作为参数,而不接受谓词(函数)。

C# 示例是

var list = ctx.WhereDynamic(x => "x > 2").ToList();

但它仍然接受返回要评估的字符串表达式的函数。
关于VB语法的任何想法?

4

2 回答 2

1

免责声明:我是Entity Framework Plus项目的所有者

仅支持 C# 语法。

所以如果你想使用任何Dynamic方法,比如FirstOrDefaultDynamic这个库中的方法,你需要坚持使用 C# 语法。

没有计划支持VB语法。

于 2021-10-11T14:52:54.157 回答
0

只是为了澄清 乔纳森马格南的答案:

用作参数的表达式字符串应使用 C# 语法,即使调用是从 VB 进行的。

使用示例:

Dim elem = a.FirstOrDefaultDynamic("x => x[0]=y", New With {.y = "MyTestVal"})
于 2021-10-13T11:04:25.707 回答