Dynamic column name in where clause. Entity Framework

后端 未结 4 1842
遥遥无期
遥遥无期 2021-01-23 01:06

I want to dynamically place column name in my select-query. How I can do this?

public IEnumerable MyTable MySelect(string colName, string param)
{
  using (MyEnt         


        
4条回答
  •  天涯浪人
    2021-01-23 01:41

    use Expression(Of Func(Of TableName, Boolean)) as input parameter to your method

        Public Function SelectFirstOrDefault(ByVal filterExpr As Expression(Of Func(Of T, Boolean))) As T 
        Return _dbContext.Set(Of T).FirstOrDefault(filterExpr)
    End Function
    

    then you can call it as below:

        Public Function Select() As MyTypeInfo
        dim expr = New Expression(Of Func(Of TableNameClass, Object))() {Function(x) x.Code, Function(x) x.LastModifiedDate, Function(x) x.Title}
        SelectFirstOrDefault(expr)
    End Function
    

提交回复
热议问题