是否可以使用反射和LINQ一起制作sql语句?

时间:2017-08-13 20:33:37

标签: c# entity-framework generics

我正在尝试为实体框架制作通用查询构建器。

在阅读我的代码之前 GetPropValue("PropertyName")是一个对象扩展方法,它返回具有该名称的属性的值;

private void MyGenerateQuery()
    {          
       //loContext refers to parent table
        var loContext = (DbSet<TEntity>)Context.GetPropValue(boName);

       var queryable = loContext
                .Join(
                    (DbSet<ORDERS>)Context.GetPropValue("ORDERS"),
                    par => par.GetPropValue("CB_REFNO"),
                    chld => chld.GetPropValue("OR_M_REFNO"),
                    (par, chld) => new { GetPropValue = chld.GetPropValue("OR_DESC") }
                );

            myGridView1.DataSource = queryable.ToList();                     
    }

所以当我的代码到达底线时

myGridView1.DataSource = queryable.ToList(); 

我收到以下错误消息: System.NotSupportedException:&#39; LINQ to Entities无法识别方法&#39; System.Object GetPropValue(System.Object,System.String)&#39;方法和此方法无法转换为商店表达式。&#39;

我该怎么办?

0 个答案:

没有答案