【发布时间】:2017-11-28 18:22:48
【问题描述】:
我正在尝试根据一个名为 fields 的参数来限制 API 返回的字段,我接受多个字符串来执行此操作
私有只读字符串[] 字段;
public string[] SelectiveSerializer(string fields)
{
string[] _fields;
var fieldColl = fields.Split(',');
_fields = fieldColl
.Select(f => f.ToLower().Trim())
.ToArray();
return _fields;
}
我希望能够根据用户在 _fields 中给我的任何内容来选择我返回的内容。正常的做法:
var linq = (from entity in db.users
where entity.ID== id
&& entity.ON== false
select( new {
ID = entity.ID,
FirstName = entity.FirstName,
LastName =entity.LastName,
FotherName = entity.FotherName
}).ToList();
但在这里我必须指定 Select (ID, FirstName ..etc) 中的字段,我希望它根据字段 [] 具有的动态。有没有办法做到这一点?
这样的(这是错误的):
var linq = (from entity in db.users
where entity.ID== id
&& entity.ON== false
select( new {
foreach (string s in _fields)
{
entity.s;
}
}).ToList();
【问题讨论】:
-
可能类似于this?
标签: asp.net-mvc entity-framework asp.net-web-api lambda