c# - Entity Framework 从字符串中获取特定列

标签 c# entity-framework

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

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

我正在尝试找出将此字符串输入转换为 Entity Framework 的最佳方法。我知道我可以使用 .Select() 来只获取某些列,但是它包含一个 Func 并且是我能想到的从字符串到 的唯一方法>Func 是通过反射实现的。如果我必须对传入的每个属性进行反射,这似乎会影响性能,是否有更好的方法?

谢谢

最佳答案

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

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

关于c# - Entity Framework 从字符串中获取特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247915/

相关文章:

c# - 48 位位图中灰色像素的意外 RGB channel 值

c# - Entity Framework 的“使用”关键字与类字段

c# - 将新对象添加到 DbContext 时 Entity Framework 中出现空引用异常

c# - 如何在 Model First Asp.net MVC 中使用多对多关系?

javascript - 服务器端数据表处理但数据不显示

c# - 如何使用 XPathSelectElement 提取元素

c# - 来自字符串的 MemoryStream - 关于要使用的编码的混淆

c# - EF MySQL 应用程序用户 MVC5

c# - Entity Framework 从Azure sql获取数据大约需要10分钟

c# - HtmlAgilityPack - 如何在大型网页中抓取 <DIV> 数据