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

本文关键字:获取 框架 字符串 实体 | 更新日期: 2023-09-27 17:56:03

我有一个使用实体框架的Web API项目。我有一个操作api/account给定一个 ID 返回该帐户。

可以提供附加参数,即要返回的字段,例如 api/account?field=name

我正在尝试找出从此字符串输入转换为实体框架的最佳方法。我知道我可以使用.Select()来仅获取某些列,但这需要Func,我能想到从字符串到Func的唯一方法是使用 Reflection。如果我必须对传入的每个属性进行反射,这似乎会是一个性能打击,有没有更好的方法可以做到这一点?

谢谢

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

可以使用 Nuget 中的此库 System.Linq.Dynamic 和此查询

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