Sql 如何使用简单Odata筛选器比较列表中的值?

Sql 如何使用简单Odata筛选器比较列表中的值?,sql,linq,odata,Sql,Linq,Odata,如何编写将Mylist值与MyKeyTable值进行比较的筛选器 我尝试了以下方法: List<string> Mylist = new List<string>(); Mylist.Add("Welcome"); Mylist.Add("Hello"); var output = await client.For<MyKeyTable>() //this is wrong I knew I need t

如何编写将Mylist值与MyKeyTable值进行比较的筛选器

我尝试了以下方法:

List<string> Mylist = new List<string>();
Mylist.Add("Welcome");
Mylist.Add("Hello");

var output = await client.For<MyKeyTable>()  
                         //this is wrong I knew I need to correct this        
                         .Filter(Mylist.Contains(x=>x.Key))
                         .FindEntriesAsync();
List Mylist=new List();
Mylist.Add(“欢迎”);
Mylist.Add(“你好”);
var output=wait client.For()
//这是错误的我知道我需要纠正这一点
.Filter(Mylist.Contains(x=>x.Key))
.FindEntriesAsync();
因此,
output
将附带所有键值匹配的值,如
welcome
hello


提前谢谢。

完成了我使用自定义表达式进行了尝试

ParameterExpression pe = Expression.Parameter(typeof(MyTableClass), "entity");
            Expression expression = null;
            Expression predicateBody = null;
            Expression leftExpression = Expression.Property(pe, "Key");
            Expression rightExpression = Expression.Constant("Welcome");
            expression = Expression.Equal(leftExpression, rightExpression);

            predicateBody = predicateBody == null
                 ? expression
                 : Expression.OrElse(predicateBody, expression);