实体框架从字符串中获取特定列

时间:2016-07-07 14:20:36

标签: c# entity-framework

我有一个使用Entity Framework的Web API项目。我有一个动作"z"给定ID返回该帐户。

可以提供另外一个参数,即要返回的字段,例如api/account

我试图找出从此字符串输入转换为Entity Framework的最佳方式。我知道我可以使用api/account?field=name来获取某些列但只需要.Select(),而我能想到从字符串到Func的唯一方法是使用Reflection。如果我必须为传入的每个属性做反射,这似乎是一个性能打击,有更好的方法吗?

由于

1 个答案:

答案 0 :(得分:1)

你可以使用Nuget的这个库System.Linq.Dynamic和这个查询

var selectStatement = string.Format("new ({0},{1})", field1, field2);
var result = db.Users.Select(selectStatement).ToListAsync().Result;