使用linq动态查询实体框架

时间:2015-07-14 15:41:27

标签: c# linq entity-framework

我需要一个函数来从实体模型中获取IdDescription的键值对,以填充用户控件上的某些字段,并且我想找到一种方法使其动态化以避免重复代码。

我的伪代码:

public List<object> GetData(string modelName, string modelId, string modelDescription)
{
    using(DbEntities context = new DbEntities())
    {
        return (from d in context.modelName
                select new { 
                            id=d.modelId,
                            description = d.modelDescription
                           }
               ).ToList<object>();
    }
}

可能的部分解决方案可能是this,但该表也需要动态定义。

1 个答案:

答案 0 :(得分:0)

在你的上下文中,你有类似于

的东西
public DbSet<MyEntity> ThePropertyName {get; set;}

当你调用函数modelName =“ThePropertyName”

因此,您可以通过反射检索DbSet,然后在其上运行ToList。然后你可以在实体上使用foreach,通过反射你可以检索属性modelId和modelDescription。