我在一个项目中使用VB,与EF一起。加上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
只接受字符串表达式作为参数,不接受谓词(函数)。
var list = ctx.WhereDynamic(x => "x > 2").ToList();
,但它仍然接受一个返回要求值的字符串表达式的函数。
对VB语法有什么想法吗?
免责声明:我是项目Entity Framework Plus的所有者
只支持c#语法。
所以如果你想使用任何Dynamic
方法,如FirstOrDefaultDynamic
从这个库,你将需要坚持使用c#语法。
没有计划支持VB
语法。
澄清一下Jonathan Magnan的回答:
作为参数的表达式字符串应该使用c#语法,即使调用是从VB发出的。
使用例子:
Dim elem = a.FirstOrDefaultDynamic("x => x[0]=y", New With {.y = "MyTestVal"})